内容
1234567890234123789
7890234123789
(?!)
只好在线等了
123789 不也是在 里,难道你是要匹配不在第一个 里出现的字符?
那用字符串处理函数可能可以,找到第一个 ,取头尾位置,再处理字符串。
建议你先讲字符串按回车分隔,对每个子字符串再进行正则匹配,不知道是否符合你的意思
我现在主要是想搞懂 负向零宽断言 的意思,不知哪位高人能写出此正则
没有解决你的问题,但是在解决的过程中遇到了一个奇怪的问题
$str = 1234567890234123789EOF;// 手册里面有一个 (?!pattern) 负向预查 应该就是 "负向零宽断言" 的意思吧preg_match_all('/(?)\d+(?=)/',$str,$m);// [0] => 123456preg_match_all('/(?)\d+(?!)/',$str,$t1);/*与 或 相邻的数字没有获取到[0] => 2345[1] => 7890234[2] => 23[3] => 78单独测试 123也是只能获取到 23*/$str_space = 123456 7890234 123789 EOF;preg_match_all('/(?)\d+(?!)/',$str_space,$t2);/*而在 或 相邻的数字加一个空格就可以了[0] => 123456[1] => 7890234[2] => 123[3] => 789*/echo "";print_r($m);print_r($t1);print_r($t2);echo "";
有劳各位了
早上好啊,该问题没办法了吗
只匹配到 123456 是很容易的
你把它删了,剩下的不就是你要的了吗?
$s =1234567890234123789TXT;$p = '#\d+[\r\n]+#';preg_match_all("/[^\r\n]+/", preg_replace($p, '', $s), $m);print_r($m);
Array( [0] => Array ( [0] => 7890234 [1] => 123 [2] => 789 ))
已抢64983个
抢已抢27425个
抢已抢14921个
抢已抢7430个
抢已抢9382个
抢已抢18980个
抢