我需要一个验证表达式,它接受字母数字字符和这些特殊字符/.~?=+&
我在php中这样做,所以它给我错误或者根本不工作
我尝试过这件事。但它甚至不接受字母数字:preg_match('/^[\w ]+([\.\~\?\=\+\&][\w ]*)?$/',$var)
答案 0 :(得分:1)
您无需转义[]
中的字符。唯一需要转义的是\
,/
,[
和[
。要匹配字母数字和您的特殊字符集,请尝试以下操作:
(\w|[\/.~?=+&])*
答案 1 :(得分:1)
您可以使用以下内容:
preg_match('/^[a-z0-9\/?&+~=.]*$/i', $var, $match);
答案 2 :(得分:0)
您可以使用以下表达式表示字母数字和上述字符:
[[:alnum:]\/.~?=+&]
然后,您可以使用此PHP代码迭代字符串中的所有匹配项...
preg_match_all('%[[:alnum:]/.~?=+&]*%i', $var, $result, PREG_PATTERN_ORDER);
for ($i = 0; $i < count($result[0]); $i++) {
# Matched text = $result[0][$i];
}