来自任何语言的信件的正则表达式不适用于php

我使用以下正则表达式来允许来自任何语言,数字,下划线和空格的字母。

^[\p{L}0-9 _]\*[\p{L}0-9][\p{L}0-9 _]\*$

它可以在在线正则表达式测试器工具中很好地工作,但在我的PHP代码中却不能。例如,它不会与任何俄语单词“Привет”匹配。

知道为什么吗?

PHP版本:PHP 7.1.16


慕妹3242003
浏览 150回答 2
2回答

潇湘沐

此RegEx可以帮助您简单地做到这一点:^[\pL_\w\d\s]+$您可以进一步简化它,但它仍然可以正常工作,例如:[\pL_\d\s]+您可以删除其中\w的单词,以及开始^和结束$字符。根据您的RegEx,我认为此RegEx可能会起作用:([\pL\d\s_]+)\*([\pL\d]+[\pL\d\s_]+)\*它使用创建两个组()。
打开App,查看更多内容
随时随地看视频慕课网APP