阅读有关Regexp(TuxRadar)的PHP在线资源.根据作者,以下不应该将"aaa1"与模式匹配,因此返回false(0),但我得到了真(1).
<?php
$str = "aaa1";
print preg_match("/[a-z]+[0-9]?[a-z]{1}/", $str);
?>
Run Code Online (Sandbox Code Playgroud)
为什么?
你确定那里不应该有拖尾$吗?没有它,返回true会很有意义 - 第一个[a-z]块匹配前两个a字符,[0-9]匹配没有,最后一个[a-z]匹配第三个a.尾随1被忽略.
看看这本书的链接,看起来似乎有一个错误:
必须以小写字母结尾
仅当正则表达式使用a锚定到字符串的末尾时才会出现这种情况$.
| 归档时间: |
|
| 查看次数: |
75 次 |
| 最近记录: |