全網最易懂的正則表達式教程(6)- 分組


正則詳細教程系列可以看此鏈接的文章哦

https://www.cnblogs.com/poloyy/category/1796055.html

 

分組和編號

  • ( ) 在正則中可以用於分組
  • 被括號起來的部分是子表達式,當做一個分組
  • 場景類比:小學算術,括號表示單獨計算里面的內容 (1+1)*2

 

分組和編號的規則

第幾個括號就是第幾個分組

 

舉栗子

 (\d{4}-\d{2}-\d{2})(\d{2}:\d{2}:\d{2}) 

這個表達式由兩個子表達式組成,第一個分組是日期,第二個分組是時間

 

不保存分組

  • 默認在 ( ) 里面的表達式會保存成分組,但有些情況下,只想用括號將某些部分看成一個整體,臨時使用,后續不再用
  • 可以通過 ?: 不保存分組, (?:正則表達式) 

 

不保存分組的好處

  • 正則表達式中出現了括號,那么這個子表達式在后續可能會再次被引用
  • 不保存分組可以提高正則的性能
  • 分組變少了,在分組計數時也更不容易出錯。

 

不保存分組的理解

那到底啥是不保存分組呢?可以理解成,括號只用於歸組,把某些表達式當做一個單獨的整體,不分配編號,后面不會再進行這部分的引用

 

保存分組的栗子

 

678 是分組一 

 

不保存分組的栗子

678 並不是分組,無法引用

 

括號嵌套

括號嵌套 (( )) 這種情況肯定會出現,就好像小學算術 ((1+1)+(1+1)) 一樣

直接看栗子,然后就知道括號嵌套情況下,分組編號的規則是什么了

看右邊的 Group 1 - 8

 

分組編號

 

分組引用

知道分組編號后,我們會需要引用分組

 

引用規則

反斜扛 + 編號: \number 

 

不同編程語言,有不同的引用方式

有印象即可,用到再來查一查~

 

分組引用在查找中使用

找到重復的單詞

 

分組引用在替換中使用

可以通過分組引用替換文本內容

 

擴展

在 Python 中,sub 函數可用於正則的替換

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM