以下正则表达式匹配任何 Unicode字母 + Unicode数字 + 元音符号 + 点 + 短划线 + 下划线 + 空间
/^[\w\pN\pL\pM .-]+$/u
成功运作。
我想编辑我的正则表达式,因此它接受以下内容:
? ! ( ) % @ # , + - : newline
-
代表负号。
我的尝试不起作用:
/^[\w\pN\pL\pM .-**?!()%@#,+-:\r**]+$/u
这是我最新尝试的片段:
if(preg_match('/^[\w\pN\pL\pM .-?!()%@#,+-:\r]+$/u', $_POST['txtarea_msg']))
有什么想法吗?
答案 0 :(得分:2)
-
是字符类中的元字符,所以你要说:
blahblahblah从.
到?
blahblahblah的所有角色+
到:
所有角色等等等等等等
需要使用\
blahblah .\-? blahblah +\-: blahblah
答案 1 :(得分:1)
/^[\w\pN\pL\pM \?!\(\)%@#,\+\-:\n\r]+$/u
应该这样做。
答案 2 :(得分:-1)
其中一些是正则表达式字符,因此您需要转义它们:
/^[\w\pN\pL\pM .?!()%@#,+\-:\r]+$/u
另请注意换行符(\n
)和回车符(\r
)之间的区别。