我想驗證以下URL是否正確。允許在正則表達式中使用其他特殊字符
$a = '/foo-bar-tar';
$b = '/foo-&-tar2';
$a = '/foo-bar-tar.';
$a = '/foo-bar.[tar]';
$a = '/foo-bar-tar';
總而言之,這些都是我願意接受,在沒有特別命令的字符:
/ - & [ ] () .
當然字母和數字的和:
a-z A-Z 0-9
的問題是我可以驗證字母,數字和特殊字符,如/.-
,但我在驗證()[]
時遇到問題 - 我猜是因爲這些是正則表達式語言的一部分即
這裏是我到目前爲止的模式:
^(/[a-z-A-z-0-9.]+)$
它匹配字母,數字和.
,但我不知道如何使它爲()[]
工作。
建議您閱讀正則表達式中有關__escaping__「特殊字符」的內容 - http://www.regular-expressions.info/characters.html –