go正則相關使用

黑熊一只發表於2024-05-24

目前go官方提供regexp庫,來實現相關正則操作,但是在相容perl上面,相對較弱。

一些正則語法無法支援,比如: 正向前瞻/負向前瞻。

基於此,出於對正則能力上的需要,需要重新選擇正則庫。

1 github.com/glenn-brown/golang-pkg-pcre/src/pkg/pcre
2 github.com/dlclark/regexp2

其中pcre庫,會依賴到c庫,導致映象/部署上的一些行為。

另外一個庫,則是regexp2,它功能相對更多,同時不需要依賴到c庫,屬於自舉範疇吧···

git庫地址: dlclark/regexp2: A full-featured regex engine in pure Go based on the .NET engine (github.com)

如果說缺陷的話,正則的耗時問題,再有就是資料量過大的情況下,驗證規則過於複雜的情況下,均會導致regexp2在的耗時陡增,因為支援複雜正則執行的原因,耗時會同比增高。

相關文章