正則表達(dá)式:
r'''(
(\d{3}|\(\d{3}\))? #area code
(\s|-|\.)? #seperator
(\d{3}) #first three digits
(\s|-|\.) #seperator
(\d{4}) #last four digits
(\s*(ext|x|ext.)\s*(\d{2,5}))? #extension
)''', re.VERBOSE
輸入:
415-863-9900 ext 23123
輸出:
總結(jié)分組規(guī)則:
- 最外層() 匹配group(0) -----0
- 其他的開始正常匹配 ------ 1-5
- 然后到
(\s*(ext|x|ext.)\s*(\d{2,5}))?
(\s*(ext|x|ext.)\s*(\d{2,5}))?
的全部匹配 ------6
開始匹配里面的值 --------7-8
7對應(yīng)(ext|x|ext.)
8對應(yīng)(\d{2,5})
這個是匹配 空字符 零次或多次 + ext + 空字符 零次或多次 +數(shù)字2-5個