首頁 >後端開發 >Golang >如何解決 Go 正規表示式中的環視問題?

如何解決 Go 正規表示式中的環視問題?

Patricia Arquette
Patricia Arquette原創
2024-11-24 11:30:161013瀏覽

How to Work Around Lookarounds in Go Regular Expressions?

解析正規表示式時出錯:無效的Perl 語法- 了解問題並尋找解決方法

嘗試編譯正規表示式「^( ? !On.*On\s. ?wrote:)(On\s(. ?)wrote:)$" Go中常見的錯誤遇到的是:

error parsing regexp: invalid or unsupported Perl syntax: (?!

這個錯誤源自於Go 不支援lookarounds,這是Perl 正規表示式中可用的語法功能,允許負向lookaheads,如(?!.

理解Lookaround語法

在正規表示式中,lookaround 是一個斷言的元字元不消耗輸入字串中任何字元的條件。應在目前位置匹配。 🎜>

由於Go不支援lookarounds,所以不能直接使用上面的正規表示式,而是使用多個正規表示式和條件檢查的解決方法。

使用regexp.MustCompile 函式編譯正規表示式模式,因為它會出現恐慌針對無效表達式,簡化錯誤處理。格式的假設。

以上是如何解決 Go 正規表示式中的環視問題?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn