正则表达式中问号 (?) 的作用:为什么匹配手机号码时要使用 0? 而不是直接使用 1?
正则表达式中匹配问号的用途:可选项
在正则表达式中,问号 (?) 表示一个可选项,也就是说,匹配项可以出现,也可以不出现。例如:
^0?1[3|4|5|8][0-9]d{8}$
这个正则表达式验证手机号码。前面加上的 0? 表示开头可以有一个 0,也可以没有。
为什么不能直接使用 var reg = /^13|4|5|8d{8}$/?
如果直接使用这个正则表达式,则手机号码必须以 1 开头,并且不能有 0。这是因为正则表达式从左到右匹配,第一个字符必须满足 1,并且没有 0 可以匹配。
历史原因
正则表达式中使用 0? 还与过去有关。以前拨打长途手机号码时,需要在号码前加一个 0。虽然现在不需要这个 0,但为了兼容性,正则表达式中仍然可以保留 0?。
以上就是正则表达式中问号 (?) 的作用:为什么匹配手机号码时要使用 0? 而不是直接使用 1?的详细内容,更多请关注其它相关文章!