我试图验证对已经在我身上强加以下正则表达式的字符串:PHP非常严格复杂的字符串验证使用的preg_match
[-,.:; 0-9A-Z&@$£¥€'"«»‘’“”?!/\\()\[\]{}<>]{3}[-,.:; 0-9A-Z&@$£¥€'"«»‘’“”?!/\\()\[\]{}<>*=#%+]{0,157}
任何人可以用PHP编写一个preg_match
验证输入帮助反对这个字符串?我很努力,因为:
- 我正则表达式的知识不是摆在首位的是伟大的
- 我看到在正则表达式本身的特殊字符,我觉得肯定PHP不会高兴我直接插入一个字符串(如$£¥€)
在徒劳的希望我刚刚试了一下扎进preg_match
,转义双引号,即:
$ste = "Some string input";
if(preg_match("/[-,.:; 0-9A-Z&@$£¥€'\"«»‘’“”?!/\\()\[\]{}<>]{3}[-,.:; 0-9A-Z&@$£¥€'\"«»‘’“”?!/\\()\[\]{}<>*=#%+]{0,157}/",$ste))
{
echo "OK";
}
else
{
echo "Not OK";
}
谢谢进阶ANCE!
你已经有了你的正则表达式。那么这是关于什么的? –
所以,你想要一个字符串,可以匹配一个正常表达式,你不知道的功能?为什么? – davidkonrad
你应该启用错误报告,你会注意到你应该在你的正则表达式中转义'/'或者把分隔符替换成'〜'。 – HamZa