gpt4 book ai didi

java - 如何在java中查找特定模式的字符串值?

转载 作者:行者123 更新时间:2023-12-01 07:56:38 26 4
gpt4 key购买 nike

在我的页面中,我有几个具有相同模式的值,例如 ${rate+0.0020D2},${rate-0.4002D3},${rate+0.2003D4}

基本上,模式是${[rate][+或-符号][数字值][D2或D3或D4]}

所以我想在我的jsp中找到所有具有这些模式的值并将它们存储在数组中。

必须应用哪种正则表达式模式才能找出该模式的值。

最佳答案

可能有更好的方法来做到这一点,但这是我的基本看法......

String regExp = "\\$\\{rate[+-]\\d+(\\.\\d+)?D[0-9]\\}";
String value = "${rate+0.0020D2},banana,${rate-0.4002D3},${rate+0.2003D4},${rate+bananD4},${rate+.123.415D4}";

Pattern pattern = Pattern.compile(regExp);
Matcher matcher = pattern.matcher(value);

String match = null;

List<String> matches = new ArrayList<String>(5);
while (matcher.find()) {

int startIndex = matcher.start();
int endIndex = matcher.end();

match = matcher.group();
matches.add(match);

}
String[] results = matches.toArray(new String[0]);

System.out.println(Arrays.toString(results));

将输出

[${rate+0.0020D2}, ${rate-0.4002D3}, ${rate+0.2003D4}]

关于java - 如何在java中查找特定模式的字符串值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29294150/

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