python正則表達式中括號的作用,形如 "(\w+)\s+\w+"


先看一個例子:

import re

string="abcdefg  acbdgef  abcdgfe  cadbgfe"

#帶括號與不帶括號的區別
regex=re.compile("((\w+)\s+\w+)")
print(regex.findall(string))
#輸出:[('abcdefg  acbdgef', 'abcdefg'), ('abcdgfe  cadbgfe', 'abcdgfe')]

regex1=re.compile("(\w+)\s+\w+")
print(regex1.findall(string))
#輸出:['abcdefg', 'abcdgfe']

regex2=re.compile("\w+\s+\w+")
print(regex2.findall(string))
#輸出:['abcdefg  acbdgef', 'abcdgfe  cadbgfe']

第一個 regex 中帶有2個括號,我們可以看到其輸出是一個list中包含2個tuple。

第二個 regex 中帶有1個括號,其輸出的內容就是括號匹配到的內容,而不是整個表達式所匹配到的結果。

第三個 regex 中不帶有括號,其輸出的內容就是整個表達式所匹配到的內容。

findall()返回的是括號所匹配到的結果,多個括號就會返回多個括號分別匹配到的結果,
如果沒有括號就返回就返回整條語句所匹配到的結果。

 

參考鏈接:http://www.imooc.com/article/302796


注:這個特性是正則表達式特有的,而不僅僅只是python語言。


免責聲明!

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



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