Heim > Artikel > Backend-Entwicklung > php正则匹配汉字结尾的字符串
UTF-8格式
$str = "289dfh第一个匹配 jdfh388第二个匹配 jfsj83第三个匹配 sjfsui";preg_match_all('/\w+[\x{4e00}-\x{9fa5}]/iu', $str, $r);print_r($r[0]);Array
我想用环视做,左边不以汉字开头做界,右边以汉字结尾做界,这样怎么写呢?
<?php$str = "289dfh第一个匹配 jdfh388第二个匹配 jfsj83第三个匹配 sjfsui 汉字开头的不要 haha这个要";preg_match_all('/\s*(?![\x{4e00}-\x{9fa5}])\w+[\x{4e00}-\x{9fa5}]+/iu', $str, $r);print_r($r[0]);
我想用环视做,左边不以汉字开头做界,右边以汉字结尾做界,这样怎么写呢?
你这个是黑名单做法,范围太大了,应该改用白名单,规定开头是什么才对
<?php$str = "289dfh第一个匹配 jdfh388第二个匹配 jfsj83第三个匹配 sjfsui 汉字开头的不要 haha这个要";preg_match_all('/\s*(?![\x{4e00}-\x{9fa5}])\w+[\x{4e00}-\x{9fa5}]+/iu', $str, $r);print_r($r[0]);
/iu
i表示忽略大小写
u表示utf8
/iu
i表示忽略大小写
u表示utf8
把U去掉,显示错误,为什么不指定U,就错误啊