re 模組中的正規表示式支援單字邊界 (b) 嗎?
嘗試使用 b 轉義序列來匹配單字邊界時在Python的re模組中,可能會出現不一致的情況。以下程式碼片段示範了這一點:
>>> x = 'one two three' >>> y = re.search("\btwo\b", x)
令人驚訝的是,預期的符合物件不存在,而是傳回 None 。這就提出了一個問題:Python 是否支援 b 表達式,或者它的用法是否不正確。
差異源自於程式碼中使用了常規字串。應使用原始字串,如下所示:
>>> x = 'one two three' >>> y = re.search(r"\btwo\b", x)
此修改解決了問題,產生了預期的匹配對象。
此外,請考慮使用以下方法:
word = 'two' re.compile(r'\b%s\b' % word, re.I)
這可確保不區分大小寫的匹配,從而可能擴大成功匹配的範圍。
以上是Python 的 `re` 模組是否正確處理正規表示式中的單字邊界 (`\b`)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!