欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php正则匹配汉字结尾的字符串

程序员文章站 2022-06-17 07:51:38
...
本帖最后由 zhuzhaodan 于 2013-06-09 00:04:00 编辑 UTF-8格式
$str = "289dfh第一个匹配 jdfh388第二个匹配 jfsj83第三个匹配 sjfsui"
要匹配出 1)289dfh第一个匹配
2)jdfh388第二个匹配
3)jfsj83第三个匹配

回复讨论(解决方案)

本帖最后由 xuzuning 于 2013-06-09 07:05:36 编辑

$str = "289dfh第一个匹配     jdfh388第二个匹配  jfsj83第三个匹配 sjfsui";preg_match_all('/\w+[\x{4e00}-\x{9fa5}]/iu', $str, $r);print_r($r[0]);
Array
(
[0] => 289dfh第一个匹配
[1] => jdfh388第二个匹配
[2] => jfsj83第三个匹配
)

我想用环视做,左边不以汉字开头做界,右边以汉字结尾做界,这样怎么写呢?



你指的是这个不?
否定顺序环就可以啦 ~~~

我想用环视做,左边不以汉字开头做界,右边以汉字结尾做界,这样怎么写呢?

你这个是黑名单做法,范围太大了,应该改用白名单,规定开头是什么才对



你指的是这个不?
否定顺序环就可以啦 ~~~

为什么把结尾的/iu去掉,会报错
Compilation failed: character value in \x{...} sequence is too large at offset 8

/iu

i表示忽略大小写
u表示utf8

/iu

i表示忽略大小写
u表示utf8

把U去掉,显示错误,为什么不指定U,就错误啊