python正則表達式函數match()和search()的區別
match()函數隻檢測RE是不是在string的開始位置匹配, search()會掃描整個string查找匹配, 也就是說match()隻有在0位置匹配成功的話才有返回,如果不是開始位置匹配成功的話,match()就返回none
例如:
#! /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'
結果是: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正則函數請查看下面的相關文章
推薦閱讀:
- Python常用正則函數使用方法詳解
- Python Excel處理庫openpyxl詳解
- Python3內置json模塊編碼解碼方法詳解
- python正則表達式之re.match()與re.search()的用法及區別
- Python中正則表達式對單個字符,多個字符和匹配邊界等使用