如何使用正则表达式替换括号中的字符串?
我有一个字符串:
HLN (Formerly Headline News)
我想删除parens和parens本身内的所有内容,只留下:
HLN
我试图用正则表达式来做到这一点,但我的困难在于这个模式:
"(.+?)"
当我使用它时,它总是给我一个.如何修复我的正则表达式?PatternSyntaxException
我有一个字符串:
HLN (Formerly Headline News)
我想删除parens和parens本身内的所有内容,只留下:
HLN
我试图用正则表达式来做到这一点,但我的困难在于这个模式:
"(.+?)"
当我使用它时,它总是给我一个.如何修复我的正则表达式?PatternSyntaxException
由于括号是正则表达式中的特殊字符,因此需要对它们进行转义以显式匹配它们。
例如:
"\\(.+?\\)"
String foo = "(x)()foo(x)()";
String cleanFoo = foo.replaceAll("\\([^\\(]*\\)", "");
// cleanFoo value will be "foo"
上述操作从字符串的任一侧删除空括号和非空括号。
普通正则表达式:
\([^\(]*\)
您可以在此处进行测试:http://www.regexplanet.com/simple/index.html
我的代码基于以前的答案