assert 'c' ==~ (?i:[^c].*)
Groovy的控制檯輸出:Groovy的編譯錯誤:意外標記
groovy> assert 'c' ==~ (?i:[^c-d].*);
^
1編譯錯誤: 意外的標記:?在行:1,列:17
爲什麼我在這裏得到未檢測到的標記?
assert 'c' ==~ (?i:[^c].*)
Groovy的控制檯輸出:Groovy的編譯錯誤:意外標記
groovy> assert 'c' ==~ (?i:[^c-d].*);
^
1編譯錯誤: 意外的標記:?在行:1,列:17
爲什麼我在這裏得到未檢測到的標記?
您需要在paren之前進行轉義......並且在不區分大小寫的修飾符後您不需要冒號。 (?我)很好。然而,知道你的斷言永遠是'假的',因爲不區分大小寫c將永遠不會匹配否定範圍[^ c-d]。
assert 'c' ==~ /(?i)([^c-d].*)/
是不是一個斜槓的報價,而不是一個逃生? – 2014-12-19 02:32:52
不知道...可能...我的時髦有點...如果。 – 2014-12-19 02:49:29
謝謝埃迪B工作。有趣的是,我有這樣的工作之前,斷言'c'==〜(?i [^ c]。*) – Reggae141 2014-12-19 06:30:42
假設你正在試圖建立正則表達式是「以任何字符開始不在範圍C到d(不區分大小寫)的任何字符串」,那麼你的「:」應爲「)(」 :
(?i)([^c-d].*)
(?i)
是「不區分大小寫」比賽標誌
我在想知道OP是否知道這個RE是'falsey'......'C'不匹配(?i)[^ cd] – 2014-12-19 03:23:23
做一個斷言這會失敗 – Reggae141 2014-12-19 17:03:08
我知道,但這是你想要的。這個問題沒有必要通過。 – 2014-12-19 18:37:37
我添加了一個「^」,突出柱17你可以查,我已經把它放到正確的地方就?如果有'cut'n'paste錯誤.. – 2014-12-19 01:24:46