使用正则表达式和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)
我需要在regex表达式中搜索分隔符,但是我想在进行替换时忽略它们。
答案 0 :(得分:3)
您不断更改问题,但此答案适合当前版本。您可以使用先行断言来处理替换逻辑。
String input_string = "test, testing, test";
String output_string = input_string.replaceAll("test(?=,|$)", "foo");
实际上,我的答案与您已有的非常相似。唯一的区别是我使用的前瞻不会使用你似乎不想要的逗号。