日期:2014-05-17  浏览次数:20484 次

php正则匹配汉字结尾的字符串
本帖最后由 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第三个匹配
)

------解决方案--------------------
<?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]);


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