gpt4 book ai didi

php - 俄语正则表达式

转载 作者:可可西里 更新时间:2023-11-01 12:25:46 24 4
gpt4 key购买 nike

我无法用正则表达式解决我的问题。

好的,当我输入时:

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

一切正常,除了俄语的情况。

所以,我尝试重新输入这个正则表达式:

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

但这不起作用,

我知道一些想法,就写:

$string = preg_replace("#\[name=([a-zA-Z0-9йцукенгшщзхъфывапролджэячсмитьбю .-]+)*]#","$name_start $1 $name_end",$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 - 俄语正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1571187/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com