时间:2021-07-01 10:21:17 帮助过:17人阅读
123456
7890234
123
789
7890234
123
789
(?!)
$str = <<123456
7890234
123
789
EOF;
// 手册里面有一个 (?!pattern) 负向预查 应该就是 "负向零宽断言" 的意思吧
preg_match_all('/(?<=)\d+(?=<\/a>)/',$str,$m);// [0] => 123456
preg_match_all('/(?)/',$str,$t1);
/*
与 或 相邻的数字没有获取到
[0] => 2345
[1] => 7890234
[2] => 23
[3] => 78
单独测试 123
也是只能获取到 23
*/
$str_space = <<123456
7890234
123
789
EOF;
preg_match_all('/(?)/',$str_space,$t2);
/*
而在 或 相邻的数字加一个空格就可以了
[0] => 123456
[1] => 7890234
[2] => 123
[3] => 789
*/
echo "";";
print_r($m);
print_r($t1);
print_r($t2);
echo "
$s =<<< TXT
123456
7890234
123
789
TXT;
$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
)
)