日期:2014-05-17  浏览次数:20872 次

这段正则怎么提取呀?
字符串:
Assembly code
aaaaaaaaaaaaaaaaaaaaaaa
ooooooooooooooooooooooo
Status: x1
Status: x23745
Status: x3242
Status: x4
bbbbbbbbbbbbbbbbbbbbbbbb
cccccccccccccccccccccccc


现在要提取 Status:后面的字符

Status这行数量也不固定,有时一行,有时四行


我现在这样只能取到第一行的值

preg_match_all('#Status:(.*)Status:#isU', $str, $arr);
echo $arr[1][0];

第二行就不知道怎么办了

------解决方案--------------------
PHP code
<?php
$str=<<<STR
aaaaaaaaaaaaaaaaaaaaaaa
ooooooooooooooooooooooo
Status: x1
Status: x23745
Status: x3242
Status: x4
bbbbbbbbbbbbbbbbbbbbbbbb
cccccccccccccccccccccccc
STR;

preg_match_all('/Status:\s*(.*)\s/i', $str, $arr);
print_r($arr[1]);

------解决方案--------------------
preg_match_all('#Status:(.*)\n#isU', $str, $arr);
print_r($arr[1]);
------解决方案--------------------
preg_match_all('#Status:(.*)#mi', $str, $arr);
print_r( $arr[1]);



Array
(
[0] => x1
[1] => x23745
[2] => x3242
[3] => x4
)

------解决方案--------------------
/^Status:\s*(\S*)\s*$/im