gpt4 book ai didi

java - 在具有 Java 正则表达式问题的组之间插入连字符

转载 作者:搜寻专家 更新时间:2023-10-31 20:01:28 25 4
gpt4 key购买 nike

我正在执行一项测试,以查找并替换由 3 或 4 个大写字母后跟具有相同字符串、连字符和相同数字的数字组成的字符串。在 Perl 中,我可以使用:

s/([A-Z]{3,4})([0-9])/$1-$2/g;

我已经在 J​​ava 中尝试过,硬编码一个字符串,例如:

public class Test {
public static void main(String[] args) {
String test = "TEST1";

Pattern p = Pattern.compile("([A-Z]{3,4})([0-9])");

Matcher m = p.matcher(test);
if (m.find()) {
m.replaceAll(m.group(1) + "-" + m.group(2));
}
System.out.println(test);

}
}

但是没有找到匹配项。是我的 Java 语法错误还是正则表达式问题?

最佳答案

无需使用 Pattern/Matcher,你可以这样做:

test = test.replaceAll( "([A-Z]{3,4})([0-9])", "$1-$2");

关于java - 在具有 Java 正则表达式问题的组之间插入连字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31147752/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com