一个正则表达式的问题

来源:百度知道 编辑:UC知道 时间:2024/05/22 00:12:42
有一个字符串 str ="abcdefg\na:1234\n"
我要取出1234,我写的正则是"\na:(.*)\n"
为什么不成?

<?php

$str = "abcdefg\na:1234\nabcdefg\na:21\nabcdefg\na:345saf1\n";

preg_match_all('/a:(\d*)/im' , $str , $matchs);

echo '<pre>';

var_dump($matchs[1]);

echo '</pre>';
?>

你试试这个匹配:(?<=[\\]na:).*(?=[\\]n)

你取到的str是由两行字符串构成的吗?
abcdedg
a:1234
原来的格式是不是这样?
如果要取:后面的数字的话,\d+不就可以取到数字了吗?

\D*(\d*)\D*