java - 忽略分隔符替换所有java

标签 java regex replaceall

使用正则表达式和 Java String.replaceAll() 方法时是否可以忽略分隔符?

例如:

 String input_string = "test, testing, test";
 String regex_expression = "(test)(,|$)";
 String replace_expression = "foo";
 String output_string = input_string.replaceAll(regex_expression, replace_expression)
  • 当前结果:“foo 测试,foo”
  • 期望结果:“foo,测试,foo”

我需要在正则表达式中搜索分隔符,但我想在替换时忽略它们。

最佳答案

您不断更改问题,但此答案适合当前版本。您可以使用前瞻断言来处理替换逻辑。

String input_string = "test, testing, test";
String output_string = input_string.replaceAll("test(?=,|$)", "foo");

实际上,我的答案与您已有的非常相似。唯一的区别是我使用的前瞻不使用逗号,而您似乎不希望这样做。

关于java - 忽略分隔符替换所有java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50446968/

相关文章:

java - 替换所有出现的组

Java正则表达式: Need Simpler Solution

java replaceAll 不适用于\n 字符

java - 如何有效地随机重新插入数组中的元素

java - 如何使用非 Activity 类中的 onActivityResult 方法来获取结果

c++ - 用于从 XML 文件中提取时间戳的正则表达式问题

java - Jsoup 中的正则表达式适用于 java 项目,不适用于 Android 项目

java - 进度条用作健康条

java - 如何在并发环境中注意网络请求?

c - 你如何用 C 找到正则表达式中的所有匹配项?