2012-03-13 94 views
-6

爲什麼Go中的regexp package不支持像樣的正則表達式?例如,字符類\ w和\ s在Go r60.3中沒有實現。另外(?:非)捕獲組無法識別。Go的差異正則表達式

+3

這很有趣,但這真的是一個問題嗎? – 2012-03-13 09:33:49

+2

「體面」這個詞充其量是主觀的,也許是煽動性的。抱怨未完成的產品未完成是毫無意義的。雖然r60是目前發佈的版本,但它已經有六個月的歷史了,從那以後發展很快。 – Sonia 2012-03-13 11:56:56

+0

哦,我絕對沒有抱怨,只是問。我也不知道每週的回購。 – Betamos 2012-03-13 15:35:22

回答

6

使用「當前藝術狀態」regexp package。 它有support\w\s並且還處理非捕獲組(?:re)

+3

這裏的問題和其他兩個答案都是討論舊的正則表達式包,它現在在最新的Go代碼庫中位於'old/regex'中,並且很快就會被丟棄。目前的'regex'軟件包不僅僅是Q所需要的。我提到它速度快嗎? – Mostafa 2012-03-13 09:59:59

+1

「最先進的」沒有後視/前瞻? – Matt 2013-09-27 17:16:50

0

該文檔指出'Package regexp實現了一個簡單的正則表達式庫',所以我想現在不是優先考慮具有全功能的正則表達式庫。

1

編輯:無視:我還沒有看看最新版本的正則表達式包

的。如果這是一個真正的問題,我想我們可以回答,沒有人現在把構建完整的時間正則表達式庫。

如果你這樣做,不要忘記考慮到現代正則表達式需要在Unicode方面是正確的。說到你提到的\ w,並不那麼簡單:'é'是一個字的字符。不要移植標準的javascript regexp包。