我正在尝试创建一个正则表达式,只过滤英语和日语中的字母或数字。这就是我尝试过的,
preg_match('/[\p{L}\p{N}\p{Katakana}\p{Hiragana}\p{Han}]+/u', $value)
但我没有得到理想的结果。我可能做错了什么? 这个也是我试过的
preg_match('/[\p{Cn}\p{N}]+/u', $value)
另外,我需要防止特殊字符
('/[(a-zA-Z 0-9\_\{\}\!\$\%\&\.\|\?\*\+\(\)\-\~)(\p{Cn})]/', $value))
这个人不会一起工作
答案 0 :(得分:0)
尝试使用此正则表达式:它将匹配BasePageObject
,katakana
和hiragana
子集中的字母(大写和小写),数字和unicode字符
han
修改:将preg_match('/^[a-zA-Z0-9\p{Katakana}\p{Hiragana}\p{Han} $]+/u', $value)
添加到允许的字符列表中,将space
和$
添加到匹配字符串字符串。
^
将返回0(不匹配)STORE-11 ぼ <>?>>^^ † ‡ dd NN
将返回1(匹配)使用给定示例的正则表达式演示:https://www.phpliveregex.com/p/oef