首頁  >  問答  >  主體

java - 如何用正则表达式

(?:(?:[0-9]\\d{2}))这个表达式是什么意思

巴扎黑巴扎黑2743 天前615

全部回覆(2)我來回復

  • 大家讲道理

    大家讲道理2017-04-18 10:52:24

    這要提到一個分組的概念。

    正規中的小括號 () 會產生分組,分組可以使用佔位符在表達式中表示匹配的值,分組從 1 開始計算。

    如: (d+)-1 中的第一个小括号匹配的是 1 个以上的数字,那么分组1表示为 1,整个表达式可以匹配 123-123 這種以破折號分隔前後數字相同的格式。

    而如果在括號中加上 ?: 即表示不产生分组号,此时 (?:d+)-1 匹配的就只是 123-1 了。

    雖然 (?:(?:[0-9]d{2})) 看起來複雜,其實就是配對了 3 個數字。

    回覆
    0
  • 天蓬老师

    天蓬老师2017-04-18 10:52:24

    這個應該是3位 0到9 的數字。

    回覆
    0
  • 取消回覆