V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
17681880207
V2EX  ›  正则表达式

请问正则表达式中,中间部分的?:的作用是什么?

  •  
  •   17681880207 · 2022-03-04 14:48:01 +08:00 · 1018 次点击
    这是一个创建于 1030 天前的主题,其中的信息可能已经有所发展或是发生改变。

    需求

    正则验证数字,并且最多保留 2 位小数。

    实现

    const regExp1 = /^(-)?\d+(?:.\d{1,2})?$/
    const regExp2 = /^(-)?\d+(.\d{1,2})?$/
    

    测试

    // assume the value is:
    // 1,1.1
    regExp1.test(value:number)
    regExp2.test(value:number)
    

    测试发现,value 的结果都一样,请请教下大家,该如何理解?:的作用,不胜感激~

    4 条回复    2022-03-08 12:01:05 +08:00
    xiaopc
        1
    xiaopc  
       2022-03-04 15:06:39 +08:00 via iPhone
    非捕获组
    Buges
        2
    Buges  
       2022-03-04 15:58:48 +08:00 via Android   ❤️ 3
    写正则的时候强烈推荐用 https://regex101.com/
    手册、解释一应俱全。
    xupefei
        3
    xupefei  
       2022-03-04 16:24:34 +08:00 via iPhone
    (?:aaaaa)表示括号里的部分不算在 group 里面。
    17681880207
        4
    17681880207  
    OP
       2022-03-08 12:01:05 +08:00
    @Buges 感谢老哥,收藏了~
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2832 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 09:19 · PVG 17:19 · LAX 01:19 · JFK 04:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.