我正在寻找一种方式(正则表达式)来获取java中括号之外的任何东西
像
String sample = "Hi all(igi)";
输出如
Hi all
搜索了很多,但无法在堆栈或谷歌上找到它
我在尝试什么
Matcher m = Pattern.compile("(?:[^<>(^)]++)").matcher(abc);
while (m.find()) {
String newName = m.group(0);
System.out.println(newName);
}
它给了我两个文本
我也想要一个正则表达式而不是一种解决方法(我想它只能在正则表达式中完成) 如果你得到了我想要学习如何实现它的答案,也可以解释正则表达式
答案 0 :(得分:1)
您可以轻松地将replaceAll与一些正则表达式\(.*?\)
一起使用,这意味着替换括号之间的所有内容,因此最终您将只获得不在括号之间的结果:
sample = sample.replaceAll("\\(.*?\\)", "");
示例:
Input Output
Hi all(igi) Hi all
Hi all(igi) Some string Hi all Some string