2
$str = 'My name is Michael. I am a sportsman!';
preg_match('|My name is (.*?)\. I am a (.*?)|', $str, $m);
print_r($m);
返回我的字符串:
Array ([0] => My name is Michael. I am a [1] => Michael [2] =>)
哪里sportsman
?
或者,这是因为第二部分是不贪婪,所以为什么锚点是需要的。如果你让它贪婪(即'(。*)|'),它将匹配而不锚定表达式。 – Jon 2013-03-22 07:07:22
@Jon完全正确:)添加到我的答案。 – 2013-03-22 07:11:51