我是正则表达式的新手,正如我所研究的,* 匹配零个或多个,+ 匹配一个或多个,所以我开始测试这个:
<?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>';
?>
Run Code Online (Sandbox Code Playgroud)
但结果是 * 没有匹配任何东西并在字母 a 存在时返回空:
array(1) {
[0]=>
string(1) "a"
}
array(1) {
[0]=>
string(0) ""
}
array(1) {
[0]=>
string(1) "a"
}
Run Code Online (Sandbox Code Playgroud)
所以我想念这里。
/a/第一个比赛a中bbba
/a*/匹配 0 个或多个a字符。a字符串的开头和第一个之间有 0 个字符,b因此它在那里匹配。
/a+/匹配 1 个或多个a字符,因此它匹配第一个a字符
这里要注意的是,正则表达式将尽可能早地尝试匹配它正在检查的字符串。
| 归档时间: |
|
| 查看次数: |
3067 次 |
| 最近记录: |