正则表达式接受字母数字和/。〜?= +&

时间:2013-12-09 01:20:40

标签: php regex special-characters

我需要一个验证表达式,它接受字母数字字符和这些特殊字符/.~?=+&

我在php中这样做,所以它给我错误或者根本不工作

我尝试过这件事。但它甚至不接受字母数字:

preg_match('/^[\w ]+([\.\~\?\=\+\&][\w ]*)?$/',$var)

3 个答案:

答案 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];
}