python正則表示式函式match()和search()的區別
阿新 • • 發佈:2021-10-09
match()函式只檢測RE是不是在string的開始位置匹配, search()會掃描整個string查詢匹配,也就是說match()只有在0位置匹配成功的話才有返回,如果不是開始位置匹配成功的話,match()就返回none
例如:
#! /usr/bin/env # -*- coding=utf-8 -*- import re text= 'pythontab' m= re.match(r"\w+",text) if m: print m.group(0) else: print 'not match'
結果是:pythontab
而:
#! /usr/bin/env python # -*- coding=utf-8 -*- # import re text= '@pythontab' m= re.match(r"\w+",text) if m: print m.group(0) else: print 'not match'
結果是:not match
search()會掃描整個字串並返回第一個成功的匹配
例如:
#! /usr/bin/env python # -*- coding=utf-8 -*- # import re text= 'pythontab' m= re.search(r"\w+",text) if m: print m.group(0) else: print 'not match'
結果是:pythontab
那這樣呢:
#! /usr/bin/env python # -*- coding=utf-8 -*- # import re text= '@pythontab' m= re.search(r"\w+",text) if m: 客棧 print m.group(0) else: print 'not match'
結果是:pythontab
更多關於python正則函式請檢視下面的相關文章