关于正则表达式

关于正则表达式

/\\d+\\.\\d+(?:\\.\\d+)?/

(?:\\.\\d+)?这部分是什么意思,可以详细解释一下吗,特别是两个"?"


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕小尤 2019-07-27 16:29:08

同学你好,1. \\d 前面多了第一个\ 是为了在程序中转义第二个\,这个你可以忽略。

2. (?:pattern):匹配pattern但不获取匹配结果,也就是说这是一个非获取匹配,不进行存储供以后使用。这在使用或字符“(|)”来组合一个模式的各个部分是很有用。例如“industr(?:y|ies)”就是一个比“industry|industries”更简略的表达式。

3. ?匹配前面的子表达式零次或一次。例如,“do(es)?”可以匹配“does”或“does”中的“do”。?等价于{0,1}。并不是整体不存在或重复一次。

祝学习愉快!

  • 提问者 慕仙0328516 #1
    industr(?:y|ies)啥叫不获取捕获结果,意思是$matches=industr吗
    2019-07-27 16:34:53
  • 好帮手慕小尤 回复 提问者 慕仙0328516 #2
    同学你好, (?:pattern)就是匹配pattern但不获取匹配结果。祝学习愉快!
    2019-07-27 17:04:55
  • 提问者 慕仙0328516 #3
    举一个例子,啥叫匹配但不捕获
    2019-07-27 17:05:53
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师