python中正則表達式 ?(問號)的詳解及用法

第一種用法:?(問號)可以實現可選匹配

 

圖一content中有數字可匹配

圖二content中無數字也可匹配

                                                                           圖一

                                                                 

                                                                                           圖二


第一種用法:?(問號)可以實現非貪婪匹配

import re
content='Hello 1234567 World This is a Regex Demo'
result=re.match('^Hel.*?(\d+).*Demo$',content)
print(result.group(0))
print(result.group(1))

上述代碼中問號是對.*起作用的,使它進行非貪婪匹配

貪婪匹配的話,print(result.group(1))輸出的結果是7,它只留了一個7給(\d+)

非貪婪匹配的話,print(result.group(1))輸出的結果是1234567,它匹配完空格就不再匹配了

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章