java - 如何找到所有 "(("并将它们替换为 "("?

标签 java

我得到一个字符串,我想用一个替换所有连续出现的左括号

  • ((5))(5)
  • ((((5))))(5)

我试过了

str = str.replaceAll("((", "(");

并得到正则表达式模式错误 然后我试了

str = str.replaceAll("\\((", "(");

然后我试了

str = str.replaceAll("\\\\((", "(");

我不断收到同样的错误!

最佳答案

你试过吗?

str = str.replaceAll("\\({2,}", "(");

'\' 是转义字符,所以每个特殊字符都必须以它开头。如果没有它们,正则表达式会将其读取为用于分组的左括号,并需要一个右括号。

编辑:最初,我以为他是想精确匹配 2

关于java - 如何找到所有 "(("并将它们替换为 "("?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56958480/

相关文章:

原始类型的 java : Understanding Arrays. asList(T...array) 方法

java - 方面调用在订阅方法之前结束

java - Comparator.comparing(...) 在采用 String::compareTo 时抛出非静态引用异常

java - 带有 MRCP 的谷歌语音 API

java - 在 iframe 中显示缩略图

java - 具有持久工作实例的线程池

java - 为什么 ArrayList 有 "implements List"?

java - 将属性值添加到 Maven 原型(prototype)

java - 通过一项设置运行 Eclipse 64 位和 32 位版本

java - Java Swing 中的线程,应用程序中三种方法的概述