0

regex Java を使用した正規表現のヘルプが必要です。

文字列のグループを変更する必要があります:

例:

入力:

=sum($var1;2) or =if($result<10;"little";"big") ...

出力が必要:

=sum(teste;2) or =if(teste<10;"little";"big") ...

私が持っているコード:

Pattern p = Pattern.compile("(\\.*)(\\$\\w)(\\.*)");
Matcher m = p.matcher(total);
if (m.find()) {
    System.out.println(m.replaceAll("$2teste"));
}

私が持っている出力:

=sum($vtestear1;2)
=if($r testeesultado<5;"maior";"menor")
4

1 に答える 1

1

変数トークンを照合するだけでよいのに、なぜすべてを照合する必要があるのでしょうか。

Pattern p = Pattern.compile("\\b\\$[a-z0-9]+\\b");
p.matcher(total).replaceAll("teste");

[a-z0-9]小文字の ASCII 文字と数字以上を使用できる場合は、その部分を変更します。

.find()また、次の場合は何もテストする必要はありません.replace()。一致しない場合は、何も置き換えられないことを意味します。

于 2013-06-14T11:18:22.597 に答える