正则出现的问题 关于零宽断言 首先报个到,以后会多来CSDN的PHP论坛混的,请大家多多关照本人遇到个有点头痛的问题/^(?=\d)m$/和/^m(?=\d)$/这2个有什么具体区别后者能很好的理解,但是断言在前面却找不到合适的答案,希望大家不惜赐教。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不好意思,本人是个菜鸟,按照上面2位的意思,我测试过,$str = "0m";$pattern = "/(?=\d)/m";preg_match($pattern,$str,$output);print_r($output);输出结果Array ( [0] => ) ,由此得出2楼hqaht的结论有点问题$str = "m0";$pattern = "/(?=\d)/m";preg_match($pattern,$str,$output);print_r($output);输出结果Array ( [0] => ) ,由此得出3楼fxs_2008的结论 "放前放后一样,只是前面预查后面预查"有点问题能解释的清楚些吗?也许本人没理解到具体含义 Lookahead assertions start with (?= .Lookbehind assertions start with (?<= .<?php//$subject = 'abc1';preg_match_all("/abc(?=\d)/", $subject, $matches);var_export($matches);echo "\n";//$subject = 'abco';preg_match_all("/abc(?!\d)/", $subject, $matches);var_export($matches);echo "\n";//$subject = '1abc';preg_match_all("/(?<=\d)abc/", $subject, $matches);var_export($matches);echo "\n";//$subject = '123abc';//$subject = '000abc';//$subject = '999abc';preg_match_all("/(?<=\d{3}(?<!000)(?<!999))abc/", $subject, $matches);var_export($matches);echo "\n";?>好好看手册。 谢谢moxie,就不给分了哈 :) 2G全能空间免费 做一个定时广告怎么弄 在php中全角空格如何替换掉 simplehtmldom抓取网页 无法获取留言信息,不知道错在那里? php中如何实现在线录音功能 2个数据库的交互 PHP解析XML参数,例子请看,在线等候…… 希望大家帮我解密下 混淆加密 PHP引擎的源代码在什么地方? [西安地区]找一熟练搭建企业内部wiki平台的高手 请教高手!
按照上面2位的意思,我测试过,
$str = "0m";
$pattern = "/(?=\d)/m";
preg_match($pattern,$str,$output);
print_r($output);输出结果Array ( [0] => ) ,由此得出2楼hqaht的结论有点问题$str = "m0";
$pattern = "/(?=\d)/m";
preg_match($pattern,$str,$output);
print_r($output);
输出结果Array ( [0] => ) ,由此得出3楼fxs_2008的结论 "放前放后一样,只是前面预查后面预查"有点问题能解释的清楚些吗?也许本人没理解到具体含义
Lookahead assertions start with (?= .
Lookbehind assertions start with (?<= .
<?php
//
$subject = 'abc1';
preg_match_all("/abc(?=\d)/", $subject, $matches);
var_export($matches);echo "\n";
//
$subject = 'abco';
preg_match_all("/abc(?!\d)/", $subject, $matches);
var_export($matches);echo "\n";
//
$subject = '1abc';
preg_match_all("/(?<=\d)abc/", $subject, $matches);
var_export($matches);echo "\n";
//
$subject = '123abc';
//$subject = '000abc';
//$subject = '999abc';
preg_match_all("/(?<=\d{3}(?<!000)(?<!999))abc/", $subject, $matches);
var_export($matches);echo "\n";
?>
好好看手册。