【发布时间】:2018-11-08 05:09:07
【问题描述】:
我正在尝试创建一个正则表达式来仅过滤英语和日语中的字母或数字。这是我尝试过的,
preg_match('/(?![\n\r])[\x00-\x1F\x80-\xFF][^\x4e00-\x9fa0)]/u', $value)
但我没有得到想要的结果。我可能做错了什么?
【问题讨论】:
-
能否请您详细说明您在做什么?匹配单词,删除字符,还是验证整个字符串?您能否提供一两个具有预期结果的示例字符串?仅供参考,任何 Unicode 字母都可以与
\p{L}匹配,任何数字都可以与\p{N}匹配,或者您可以使用'~[\p{L}\d]~u'匹配任何 Unicode 字母或数字。 -
“期望的结果”是什么?
-
我猜这是使用正则表达式“只会加倍麻烦”的情况之一。 Manu,请解释一下你在做什么。
-
请看here,我觉得这真的很有帮助。