求表达式匹配2个汉字
源文本:<p>区域##中国|地址##阿大使大赛阿萨德</p>求助:使用正则表达式配合出“区域##”后面的2个汉字 限定只有2个汉字。 哪个正则高手指点下应该怎么写,教程看了还是没有找到方法。跪求 <?php
$str='<p>区域##中国|地址##阿大使大赛阿萨德</p> ';
$zz='/<p>区域\#\#(?<content>[\s\S]{4})/is';
preg_match($zz,$str,$arr);
if(isset($arr['content']))echo '结果:'.$arr['content'].'<br>';
else echo '结果:没有匹配<br>';
?>上面是我用php做的测试,路过区域后面都是中文的应该没有问题。
用在火车头的正则表达式:<p>区域\#\#(?<content>[\s\S]{4})汉字是双字节的,一个汉字2字节,[\s\S]{4}代表匹配4个字节,路过后面都是汉字,这样就是2个汉字了 qqtoqq 发表于 2012-4-24 20:39 static/image/common/back.gif
上面是我用php做的测试,路过区域后面都是中文的应该没有问题。
用在火车头的正则表达式:汉字是双字节的 ...
高手,帮了我大忙!谢谢了 <p>区域\#\#(?<content>[\s\S]{4})
用在火车头第二步,测试不成功的 用在插件中,为何不成功呢, if ( preg_match("委托,([\w\W]{4,25})对其", $body, $regs)) 不知错在哪里?匹配不到, function bodyfirstimg($body) {
$body = strtolower($body);
if ( preg_match("#委托,(?<content>[\w\W]{4,25})对其#", $body, $regs))
{ //使用正则获代理机构名称不成功
return $regs ;
}
else
{
return '' ;
}
}
$LabelArray['测试代理'] = bodyfirstimg($LabelArray['内容']);
preg_match("#委托,(?<content>[\w\W]{4,25})对其#is",$body,$str);
$LabelArray['测试代理2'] = $str;
二种方法,测试代理,和测试代理2都得不到,如何从当前网页中匹配到呢 自己解决了,加油!
页:
[1]