我无法用正则表达式的反向引用替换字符串: 什么都没有被替换,我总是最终得到我的意见 我的代码:
String input="A12.3 bla bla my input";
input = StringUtils.replacePattern(
input, "^([A-Z]\\d{2}\\.\\d)",
"$1");
System.out.println(input);
主要问题是我无法更改java代码,只能更改输入,正则表达式和组引用。
对于任何符合我需求或出错的其他正则表达式模式,您有什么建议吗?
StringUtils是Apache Commons Lang
答案 0 :(得分:3)
您正在替换相同的匹配模式。可能你的意思是:
String input="A12.3 bla bla my input";
input = StringUtils.replacePattern(
input, "^([A-Z]\\d{2}\\.\\d).*$", "$1");
// ^^^
System.out.println(input);
.*$
将匹配输入直到结束。