亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

正則表達式中的()表示?

正則表達式中的()表示?

qq_控心_0 2017-09-06 18:04:56
如题,正则中(\\d)表示什么? 还有\\1表示什么? 谢谢。
查看完整描述

1 回答

已采納
?
onemoo

TA貢獻883條經驗 獲得超454個贊

小括號括起來的這部份正則表達式可以被當作一個“組”。這個組可以作為整體被后面的修飾,也可在后續處理中單獨獲得這一部分正則的匹配結果。


正則表達式 \d 表示匹配一個數字。但是由于 Java 的字符串中 \ 是轉義字符,所以需要寫成 \\ 來表示正則表達式中的反斜線 \。

那么 (\\d) 就表示匹配一個數字。并且小括號表示將其作為一個組,同時記下了這個匹配結果(后面會用到)。


正則表達式 \1 或者類似的“反斜線+數字N”就代表前面“第N個組”的結果,因為一個正則表達式中可能有多個小括號擴起的組,所以用 \1 ?\2 ?\3 等來分別代表之前的組。

同樣的道理,Java 的字符串用 \\1 表示正則表達式 \1。

查看完整回答
反對 回復 2017-09-06
  • qq_控心_0
    qq_控心_0
    謝謝你的回答,那如果是(\\d)(\\D)\\2 代表的就是使用(\\D)這個組,對吧?
  • qq_控心_0
    qq_控心_0
    還有 匹配三個相同的數字 用(\\d)\\1{2} 這個{2}中的2為什么是2,用其他的就不行了,這個{2}不是表示2次嗎,那三個數字怎么是2次?
  • onemoo
    onemoo
    恩沒錯,(\\d)(\\D)\\2 之中的 \\2 代表 \\D。
點擊展開后面2
  • 1 回答
  • 0 關注
  • 1476 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號