1. 程式人生 > 程式設計 >python正則表示式函式match()和search()的區別

python正則表示式函式match()和search()的區別

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正則函式請檢視下面的相關文章