Python 中re.match 與re.search 的細微差別
簡介
簡介
re.match:錨定在開頭
驗證輸入格式
re.search:掃描整個內容String
匹配表達式而不考慮它們在表達式中的位置string
比較點
錨點:
錨點:
錨點:
錨點:
錨點> re.match 錨定在字串的開頭,而re.search 搜尋整個字串。
圖案位置: re.match 僅當模式出現在字串開頭時才匹配。 re.search 尋找字串中任何位置的匹配。
多行配對:import re string_with_newlines = """something someotherthing""" print(re.match("some", string_with_newlines)) # matches print(re.match("someother", string_with_newlines)) # no match print(re.search("someother", string_with_newlines)) # matches兩個函數都支援使用 re.MULTILINE 標誌進行多行配對。然而,re.match 仍然將自身錨定到每行的開頭,而 re.search 會掃描整個字串,考慮換行符。 效率: re.match 通常比 re 更快.search 因為它可以快速判斷匹配項是否不在字串開頭。 用法注意事項根據您的配對需求,選擇合適的功能。當您想要確保匹配嚴格遵循字串的開頭時,例如檢查有效的輸入格式或驗證文件頭,請使用 re.match。當您需要更大的靈活性時,例如查找模式的所有實例或識別較大文字正文中的子字串,請使用 re.search。 範例程式碼以下程式碼示範了re.match 和re.search 之間的差異:在此範例中, re.match 正確辨識了位於字串的開頭,而re.search 會尋找字串後面出現的「someother」。
以上是Python 正規表示式符合中的「re.match」和「re.search」有何不同?的詳細內容。更多資訊請關注PHP中文網其他相關文章!