ignore delimiters replaceall java

时间:2018-05-21 10:33:53

标签: 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 testing,foo”
  • 期望的结果:“foo,testing,foo”

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

1 个答案:

答案 0 :(得分:3)

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

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

实际上,我的答案与您已有的非常相似。唯一的区别是我使用的前瞻不会使用你似乎不想要的逗号。