【发布时间】:2011-08-03 18:17:06
【问题描述】:
匹配字符串中'('的正则表达式是什么?
以下是场景:
我有一个字符串
str = "abc(efg)";
我想使用正则表达式在'(' 处拆分字符串。为此我正在使用
Arrays.asList(Pattern.compile("/(").split(str))
但我得到以下异常。
java.util.regex.PatternSyntaxException: Unclosed group near index 2
/(
转义'(' 似乎不起作用。
【问题讨论】:
-
你应该先学习Regex的基础知识:Wiki Regex or Regex Tuts or Regex for begginer
-
试试
Pattern.quote("("),或者干脆"\\("。请注意,有 2 个反斜杠 - Java 编译器额外的一个,以正确理解字符串。您的示例代码使用的是斜杠,而不是反斜杠。更重要的是,您可以简单地使用string.split... -
"\(" 为我工作,感谢@Kobi。