當前位置:
首頁 >
python与正则表达式(part4)--正则表达式分组
發布時間:2023/12/19
28
豆豆
生活随笔
收集整理的這篇文章主要介紹了
python与正则表达式(part4)--正则表达式分组
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 正則表達式分組
- 定義
- 作用
- 捕獲組
- 注意事項
正則表達式分組
定義
在正則表達式中,以()建立正則表達式的內部分組,子組是正則表達式的一部分,可以作為內部整體操作對象。
備注:當我們的正則表達式中存在子組時,就不能用findall(),則要用search().
作用
①可以被作為整體操作,改變元字符的操作對象
例子1(改變 +號 重復的對象)
In : re.search(r'(ab)+',"ababababab").group() Out: 'ababababab'備注:匹配到,就會返回被匹配的內容;匹配不到,則會報錯。
例子2(改變 |號 操作對象)
In : re.search(r'(王|李)\w{1,3}',"王者榮耀").group() Out: '王者榮耀'備注:如果不加【()】小括號,將匹配【王】或【李\w{1, 3}】.若加小括號則【王|李】會作為一個內部整體,將匹配【王\w{1, 3}】或【李\w{1, 3}】
②可以通過編程語言某些接口,獲取匹配內容中,子組對應的內容部分
備注:子組發揮作用的前提是,整個正則表達式能夠匹配到東西。
例子1
In:re.search(r'(https|http|ftp|file)://\S+',"https://www.baidu.com").group(1) Out: 'https'捕獲組
可以給正則表達式的子組起一個名字,表達該子組的意義。這種有名稱的子組即為捕獲組。
格式:(?P<名字>正則表達式)
例子1
In : re.search(r'(?P<pig>ab)+',"ababababab").group('pig') Out: 'ab'例子2
In: re.search(r'(?P<FirstName>王|李)\w{1,3}',"王者榮耀").group("FirstName") Out: '王'注意事項
①一個正則表達式中可以包含多個子組
②子組可以嵌套,但是不要重疊或者嵌套結構復雜
③子組序列號一般從外到內,從左到右計數
總結
以上是生活随笔為你收集整理的python与正则表达式(part4)--正则表达式分组的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python与正则表达式(part3)-
- 下一篇: python与正则表达式(part5)-