- 论坛徽章:
- 1
|
正则表达式的问题
仅供有限测试:
- <?php
- $aryTemp = array(
- "1. /",
- "2. /?",
- "3. /?key",
- "4. /?key=value",
- "5. /?key=value&",
- "6. /?key=value&key2=value2",
- "1. /??",
- "2. /?A",
- "3. /?a==",
- "4. /aa",
- "5. /?a=&^&&c=d"
- );
- $strMatch_END = "_END_";
- for($i = 0;$i < count($aryTemp);$i++) {
- $strSource = $aryTemp[$i];
- if (preg_match('/\/(\\?([0-9a-z]((=[0-9a-z%_]?))?&?)*)?' . $strMatch_END . '/', $strSource . $strMatch_END)) {
- echo "ok = " . $strSource . "\n";
- } else {
- echo "error= " . $strSource . "\n";
- }
- }
- ?>;
复制代码
结果
ok = 1. /
ok = 2. /?
ok = 3. /?key
ok = 4. /?key=value
ok = 5. /?key=value&
ok = 6. /?key=value&key2=value2
error= 1. /??
error= 2. /?A
error= 3. /?a==
error= 4. /aa
error= 5. /?a=&^&&c=d |
|