php – regexp与俄罗斯郎

前端之家收集整理的这篇文章主要介绍了php – regexp与俄罗斯郎前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我用 regexp无法解决我的问题.

好的,当我输入:

$string = preg_replace("#\[name=([a-zA-Z0-9 .-]+)*]#","$name_start $1 $name_end",$string);

一切都很好,除了俄语的情况.

所以,我尝试重新输入这个reg-exp:

$string = preg_replace("#\[name=([a-zA-Z0-9**а-яА-Я** .-]+)*]#",$string);

但这不起作用,

我知道一些想法,只需写:

$string = preg_replace("#\[name=([a-zA-Z0-9йцукенгшщзхъфывапролджэячсмитьбю .-]+)*]#",$string);

但这很疯狂:D

拜托,给我简单的变体

尝试Unicode范围:
'/[\x{0410}-\x{042F}]/u'  // matches a capital cyrillic letter in the range A to Ya

不要忘记Unicode的/ u标志.

在你的情况下:

"#\[name=([a-zA-Z0-9\x{0430}-\x{044F}\x{0410}-\x{042F} .-]+)*]#u"

请注意,正则表达式中的STAR是多余的.一切都已经被PLUS“吃掉”了.这样做会是这样的:

"#\[name=([a-zA-Z0-9\x{0430}-\x{044F}\x{0410}-\x{042F} .-]+)]#u"

猜你在找的PHP相关文章