主頁(yè) > 知識(shí)庫(kù) > Python中正則表達(dá)式match()、search()函數(shù)及match()和search()的區(qū)別詳解

Python中正則表達(dá)式match()、search()函數(shù)及match()和search()的區(qū)別詳解

熱門(mén)標(biāo)簽:地圖標(biāo)注字母的軟件 宿遷智能外呼系統(tǒng)供應(yīng)商 菏澤智能ai電銷(xiāo)機(jī)器人銷(xiāo)售公司 鄂州人工智能電銷(xiāo)機(jī)器人軟件 地圖標(biāo)注商戶(hù)中心要收錢(qián)多少 400免費(fèi)電話去哪申請(qǐng) css百度地圖標(biāo)注位置顯示 實(shí)用地圖標(biāo)注app 線上教育ai外呼系統(tǒng)

match()和search()都是python中的正則匹配函數(shù),那這兩個(gè)函數(shù)有何區(qū)別呢?

match()函數(shù)只檢測(cè)RE是不是在string的開(kāi)始位置匹配, search()會(huì)掃描整個(gè)string查找匹配, 也就是說(shuō)match()只有在0位置匹配成功的話才有返回,如果不是開(kāi)始位置匹配成功的話,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'

結(jié)果是: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'

結(jié)果是:not match

search()會(huì)掃描整個(gè)字符串并返回第一個(gè)成功的匹配

例如:

#! /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'

結(jié)果是: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'

結(jié)果是:pythontab

總結(jié):

Python中正則表達(dá)式match()函數(shù)

如果不創(chuàng)建pattern對(duì)象,我們使用match函數(shù)可以直接進(jìn)行正則表達(dá)式的匹配,在我看來(lái)這種方式更簡(jiǎn)潔,不過(guò)不適合大型程序的編寫(xiě),后期維護(hù)可能會(huì)產(chǎn)生困難,不過(guò)編寫(xiě)一些小腳本完全可以勝任。

Python中正則表達(dá)式search()函數(shù)

search函數(shù)和match函數(shù)有點(diǎn)類(lèi)似,都可以匹配模式,但是match和search函數(shù)也有區(qū)別,而且區(qū)別很大,match函數(shù)只能夠字符串的開(kāi)始位置開(kāi)始匹配,而search是可以匹配字符串的任意位置,但也是返回找到的第一個(gè)匹配的模式。我們通過(guò)例子來(lái)了解這倆之間的區(qū)別吧。


您可能感興趣的文章:
  • 淺談Python中re.match()和re.search()的使用及區(qū)別
  • python 使用re.search()篩選后 選取部分結(jié)果的方法
  • python使用正則表達(dá)式的search()函數(shù)實(shí)現(xiàn)指定位置搜索功能
  • Python-re中search()函數(shù)的用法詳解(查找ip)

標(biāo)簽:三亞 咸陽(yáng) 鞍山 梅州 池州 恩施 六安 綿陽(yáng)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Python中正則表達(dá)式match()、search()函數(shù)及match()和search()的區(qū)別詳解》,本文關(guān)鍵詞  Python,中,正則,表達(dá)式,match,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Python中正則表達(dá)式match()、search()函數(shù)及match()和search()的區(qū)別詳解》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于Python中正則表達(dá)式match()、search()函數(shù)及match()和search()的區(qū)別詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章