V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
17681880207

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

  •  
  •   17681880207 · Mar 4, 2022 · 1605 views
    This topic created in 1523 days ago, the information mentioned may be changed or developed.

    需求

    正则验证数字,并且最多保留 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 replies    2022-03-08 12:01:05 +08:00
    xiaopc
        1
    xiaopc  
       Mar 4, 2022 via iPhone
    非捕获组
    Buges
        2
    Buges  
       Mar 4, 2022 via Android   ❤️ 3
    写正则的时候强烈推荐用 https://regex101.com/
    手册、解释一应俱全。
    xupefei
        3
    xupefei  
       Mar 4, 2022 via iPhone
    (?:aaaaa)表示括号里的部分不算在 group 里面。
    17681880207
        4
    17681880207  
    OP
       Mar 8, 2022
    @Buges 感谢老哥,收藏了~
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   815 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 19:20 · PVG 03:20 · LAX 12:20 · JFK 15:20
    ♥ Do have faith in what you're doing.