使用動態正則表達式匹配字串中的整個單字
匹配字串中的整個單字的任務可以使用正則表達式來實現。然而,為不同的單字位置建立多個匹配表達式可能很乏味。本文深入研究了使用單字邊界的簡潔解決方案。
使用單字邊界
單字邊界,用 b 表示,表示單字的開頭或結尾。透過將 b 合併到正規表示式模式中,我們可以匹配由非單字字元包圍的單字。以下程式碼示範了這一點:
match_string = r'\b' + word + r'\b' # Or Python 3.7+ only versions: match_string = r'\b{}\b'.format(word) match_string = rf'\b{word}\b'
此正規表示式模式將匹配「word」作為整個單詞,無論其在字串中的位置如何。
匹配多個單字
如果需要將多個單字作為整個單字進行匹配,我們可以使用單字清單並建立如下模式this:
match_string = r'\b(?:{})\b'.format('|'.join(words)) # Or Python 3.7+ only version: match_string = rf'\b(?:{"|".join(words)})\b'
在此模式中,單字包含在非捕獲組中,確保僅匹配整個單字。
邊界注意事項
如果要匹配的「單字」包含特殊字符,則需要在正則表達式模式中使用它們之前對其進行轉義re. escape().
對於以特殊字元開頭或結尾的單詞,應使用明確的單字邊界(?
總而言之,使用單字邊界提供了方便的方法匹配字串中整個單字的方法,消除了基於單字位置的多個匹配表達式的需要。
以上是如何使用正規表示式匹配字串中的整個單字?的詳細內容。更多資訊請關注PHP中文網其他相關文章!