Groovy 2.4在這裏。我試圖建立一個正則表達式,將過濾掉所有的下列字符:Groovy在正則表達式中抱怨非法字符範圍
`,./;[]-&<>?:"()|
這是我最好的嘗試:
static void main(String[] args) {
// `,./;[]-&<>?:"()|
String regex = "`,./;[]-&<>?:\"()|"
String test = "ooekrofkrofor ` oxkeoe , wdkeodeko/kodek ] woekoedk \" swjiej ' wsjwdjeiji :"
println test.replaceAll(regex, "")
}
然而,這會產生一個編譯錯誤的regex
列定義,抱怨:
非法字符範圍
不知道這是一個Java還是Groovy的東西,但我無法弄清楚如何正確定義regex
,這樣它可以解決錯誤,並將這些「非法字符」正確地從我的字符串中刪除。有任何想法嗎?
是否需要轉義一些(除了「)?[\^$。|?* +()是正則表達式的特殊字符 – adrianmcmenamin