早上好。我正在尝试确定字符串是否包含特定字符的列表。
我知道我应该为此使用preg_match,但我的正则表达式知识很糟糕,我无法从本网站的其他帖子中收集任何信息。因为他们中的大多数只想将字符串限制为 az、AZ 和 0-9。但我确实希望允许一些特殊字符,例如:! @ £
和其他不在下面的字符串中。
要匹配的字符:# $ % ^ & * ( ) + = - [ ] \ ' ; , . / { } | \ " : < > ? ~
private function containsIllegalChars($string)
{
return preg_match([REGEX_STRING_HERE], $string);
}
我最初用 Javascript 编写匹配,它只是遍历字符串中的每个字母,然后遍历另一个字符串中的每个字符,直到找到匹配项。回想起来,我不敢相信我什至试图使用这种古老的方法。随着 json 的出现(以及应用程序的重写!),我将匹配切换到 php,以通过 json 返回错误消息。
我希望正则表达式大师可以帮助将上述字符串转换为正则表达式字符串,但任何反馈都将不胜感激!