
%ign%ignore_a_1%re_a_1%中匹配问号的用途:可选项
在正则表达式中,问号 (?) 表示一个可选项,也就是说,匹配项可以出现,也可以不出现。例如:
^0?1[3|4|5|8][0-9]d{8}$
这个正则表达式验证手机号码。前面加上的 0? 表示开头可以有一个 0,也可以没有。
为什么不能直接使用 var reg = /^13|4|5|8d{8}$/?
Elser AI Comics
一个免费且强大的AI漫画生成工具,助力你三步创作自己的一出好戏
522 查看详情
如果直接使用这个正则表达式,则手机号码必须以 1 开头,并且不能有 0。这是因为正则表达式从左到右匹配,第一个字符必须满足 1,并且没有 0 可以匹配。
历史原因
正则表达式中使用 0? 还与过去有关。以前拨打长途手机号码时,需要在号码前加一个 0。虽然现在不需要这个 0,但为了兼容性,正则表达式中仍然可以保留 0?。
以上就是正则表达式中问号 (?) 的作用:为什么匹配手机号码时要使用 0? 而不是直接使用 1?的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/895270.html
微信扫一扫
支付宝扫一扫