【发布时间】:2016-04-22 21:29:05
【问题描述】:
这里是 Groovy 2.4。我正在尝试构建一个将过滤掉以下所有字符的正则表达式:
`,./;[]-&<>?:"()|
这是我最好的尝试:
static void main(String[] args) {
// `,./;[]-&<>?:"()|
String regex = "`,./;[]-&<>?:\"()|"
String test = "ooekrofkrofor ` oxkeoe , wdkeodeko / kodek ] woekoedk \" swjiej ' wsjwdjeiji :"
println test.replaceAll(regex, "")
}
但是这会在regex 字符串定义上产生编译错误,抱怨:
非法字符范围(到
不确定这是 Java 还是 Groovy 的东西,但我不知道如何正确定义 regex 以便它消除错误并正确地从我的字符串中删除这些“非法字符”。有什么想法吗?
【问题讨论】:
-
你需要转义更多(除了“)吗?[\^$.|?*+() 是正则表达式的特殊字符