【发布时间】:2019-01-28 09:34:12
【问题描述】:
我是正则表达式的新手,正如我所研究的那样,* 匹配零个或多个,+ 匹配一个或多个,所以我开始测试这个:
<?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*也匹配空,所以它显示一个空结果 -
a*匹配。它匹配零个“a”。 -
@catcon 谢谢,我已经转移到
preg_match_all,现在我得到了存储在数组中的每一步的结果