早上好SO。我正在尝试确定一个字符串是否包含一组特定的字符。
我知道应该使用preg_match来实现这个,但我对正则表达式的知识很少,也无法从本站的其他帖子中获得任何信息。因为大多数人只想将字符串限制为a-z、A-Z和0-9。但我确实希望允许一些特殊字符,例如:!@£
和其他不在下面的字符串中的字符。
要匹配的字符:# $ % ^ & * ( ) + = - [ ] \ ' ; , . / { } | \ " : < > ? ~
private function containsIllegalChars($string)
{
return preg_match([REGEX_STRING_HERE], $string);
}
我最初是用JavaScript编写匹配算法的,它只是通过循环遍历字符串中的每个字符,然后再循环遍历另一个字符串中的每个字符,直到找到匹配项。回顾过去,我简直不敢相信自己竟尝试使用这种过时的方法。随着json的出现(和应用程序的重写!),我正在将匹配操作切换到php,并通过json返回错误消息。
我希望有正则表达式专家能帮助将上述字符串转换为一个正则表达式字符串,但任何反馈都将不胜感激!