gpt4 book ai didi

Java正则表达式替换为捕获长度

转载 作者:行者123 更新时间:2023-12-02 00:07:00 24 4
gpt4 key购买 nike

String pw="pw:(abc)";//Maybe "pw:(12)","pw:(ab123)"...
pw=pw.replaceFirst("\\(.+\\)", "*");

//pw == result:pw:*

我想要结果:pw:*****(abc) 必须是 * x 5

星号的数量等于内容的长度被匹配

我可以仅使用String.replaceFirstString.replaceAll来实现它吗?

最佳答案

    String var = "lalala(pw:)()pw:(abc12)lalala()(pw:(a12)pw:() lala";

for(;;){
String oldVar= var;
var = var.replaceAll("(pw\\:\\()([*]{0,})([a-zA-Z0-9]{1})(.{1,})", "$1$2*$4");
if(oldVar.equals(var)){
break;
}
}
var = var.replaceAll("(pw\\:)\\(([*]{1,})\\)","$1*$2*");
System.out.println(var);


RESULT: lalala(pw:)()pw:*******lalala()(pw:*****pw:() lala

关于Java正则表达式替换为捕获长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13627480/

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