1. 程式人生 > 其它 >【筆記】正則表示式·記③--分組與引用

【筆記】正則表示式·記③--分組與引用

正則表示式·記③

括號在正則中的功能就是用於分組。簡單來理解就是,由多個元字元組成某個部分,應該被看成一個整體的時候,可以用括號括起來表示一個整體

分組與編號

括號在正則中可以用於分組,被括號括起來的部分“子表示式”會被儲存成一個子組,簡單來說,第幾個括號就是第幾個分組

比如,想要取一個2022-03-15 22:46:00,則可以寫成

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

這就有了兩個分組,其中,第一個括號的分組編號就是1,第二個括號的分組編號就是2

不儲存子組

如果正則中出現了括號,那麼我們就覺得,這個子表示式在後續可能會再次被引用,那麼,只想用括號將某些部分看成一個整體,後續不用再用它的話,應該怎麼辦呢?這時我們可以在括號裡面使用 ?: 不儲存子組

簡單來說,不儲存分組就是隻執行分組的操作,把這一部分作為一個整體的元素,而不進行編號,後面就不會再使用這部分的引用,可以提高正則表示式的效能

括號巢狀

在括號巢狀的情況裡,我們要看某個括號裡面的內容是第幾個分組怎麼辦?

簡單來說,我們只需要數左括號(開括號)是第幾個,就可以確定是第幾個子組,也就是從左往右數,當前左括號是第幾個左括號,就是第幾組

命名分組

命名分組的格式為(?P<分組名>正則)

可以使用名稱,不用編號,實際上命名分組的編號已經分配好了

分組引用

絕大多數的語言,我們就可以使用 “反斜扛 + 編號”,即 \number 的方式來進行引用,而 JavaScript 中替換是通過$編號來引用,查詢是\,需要的時候查文件