我希望正则表达式删除阿拉伯数字和英文数字
我的变量是$ variable =“ 12121212ABDHSتشؤآئ۳۳۴۳۴729384234 owiswoisw”;
我要删除所有数字!喜欢:
像owiswoisw这样的ABDHS
我发现以下表达式但不起作用!
$newvariable = preg_replace('/^[\u0621-\u064A]+$', '', $variable);
谢谢你的帮助
您可以使用
$newvariable = preg_replace('/\d+/u', '', $variable);
该\d
ASCII数字在默认情况下比赛,但是当你添加u
改性剂,它可以使PCRE_UCP
选项(连同PCRE_UTF8
使)\d
匹配所有Unicode数字。
请参阅PCRE文档:
此选项更改PCRE处理\ B,\ b,\ D,\ d,\ S,\ s,\ W,\ w和某些POSIX字符类的方式。默认情况下,仅识别ASCII字符,但是如果设置了PCRE_UCP,则改用Unicode属性对字符进行分类。
如果您只需要限制与ASCII以及您选择的匹配,则可以修复正则表达式:
preg_replace('/[0-9\u0621-\u064A]+/u', '', $variable)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句