我对正则表达式还不太熟悉,但是我了解到 * 可以匹配零个或多个字符,而 + 则可以匹配一个或多个字符。因此,我开始进行测试:
<?php
preg_match("/a/", 'bbba',$m);
preg_match("/a*/", 'bbba',$o);
preg_match("/a+/", 'bbba',$p);
echo '<pre>';
var_dump($m);
var_dump($o);
var_dump($p);
echo '</pre>';
?>
但结果是 * 没有匹配到任何内容并返回空,而字母 a 是存在的:
array(1) {
[0]=>
string(1) "a"
}
array(1) {
[0]=>
string(0) ""
}
array(1) {
[0]=>
string(1) "a"
}
那么我在这里漏掉了什么。
a*
也可以匹配空字符串,所以显示出了一个空结果。 - user1334621a*
匹配成功,它匹配了零个"a"。 - Psythopreg_match_all
,现在我可以将每个步骤的结果存储在数组中。 - Mohamed Omar