python中的match和search的區別

2021-08-28 16:52:51 字數 741 閱讀 6180

match(string[, pos[, endpos]]) | re.match(pattern, string[, flags]):
search(string[, pos[, endpos]]) | re.search(pattern, string[, flags]):

match()從指定的位置匹配到結尾,必須開頭一模一樣的對應,search()也是在指定的位置匹配到結尾,但是,只要在這個區間裡有匹配就行,不用嚴格的限制開頭一一對應,具體可以看例項:

import re

pattern = re.compile(r'hello.*!')

# 開頭有個'a',match()匹配不上,但是search()可以匹配上

match = pattern.match('ahello, peter! how are you?')

match1 = pattern.search('ahello, peter! how are you?')

if match:

print(match.group())

else:

print("none match")

if match1:

print(match1.group())

else:

print("none match1")

python中的match物件

match.group 返回匹配物件的乙個或多個分組。不含引數的時候,返回整個匹配物件 含有乙個引數的時候,返回引數對應分組的物件 含有多個引數的時候,以元組的形式返回引數對應的分組 m re.match r w w isaac newton,physicist m.group 0 the enti...

exec和match中的g標識

exec 函式是regexp物件的乙個方法 match 是string物件的乙個方法。正規表示式中,如果沒有g,exec和match方法都是返回字串中第乙個匹配的部分,如果有分組的話,分組也會返回 如果有g,exec每執行一次都會將reg的lastindex屬性更新,下次載執行exec時,會從這個值...

es中的term和match的區別

term hits love china terms hits 可以看到,我們上面使用china是小寫的。當使用的是大寫的china我們進行搜尋的時候,發現搜不到任何資訊。這是為什麼了?title這個詞在進行儲存的時候,進行了分詞處理。我們這裡使用的是預設的分詞處理器進行了分詞處理。我們可以看看如何...