Python 正則表達式 利用括號分組


  如果想把區號從匹配的電話號碼中分離,可以添加括號在正則表達式中創建分組,再使用group()方法,從一個分組中獲取匹配的文本

  正則表達式字符串中,第一個括號是第一組,第二個括號是第二組。向group()方法傳入參數1或2,可以獲得匹配文本中的不同部分,傳入0或者不傳參數,將返回整個匹配的文本

>>> import re
>>> m=re.search(r'(\d{3})-(\d{3}-\d{4})','My phone number is 012-239-4597')
>>> print(m.group(1))
012
>>> print(m.group())
012-239-4597
>>>

  使用groups()方法,可以返回所有的分組

>>> import re
>>> m=re.search(r'(\d{3})-(\d{3}-\d{4})','My phone number is 012-239-4597')
>>> print(type(m.groups()))
<type 'tuple'>
>>> print(m.groups())
('012', '239-4597')
>>>

  groups()返回多個值的元組,可以使用多重賦值的技巧,進行賦值

>>> import re
>>> m=re.search(r'(\d{3})-(\d{3}-\d{4})','My phone number is 012-239-4597')
>>> area_code,main_code = m.groups()
>>> print(area_code)
012
>>> print(main_code)
239-4597
>>>


免責聲明!

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



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