【发布时间】:2021-03-27 18:49:35
【问题描述】:
我一直在尝试使用正则表达式在字符串中查找某些整数(我不完全确定它是什么,有人可以向我推荐一些东西来了解它吗?),但是有一些问题。我已经开始寻找字符串中的第一个整数并将该整数值设置为一个变量,但是在寻找第二个整数时被卡住了。这是我目前的代码:
for (int x = 0; x < list.length; x++) {
current = list[x];
Matcher first = Pattern.compile("\\d+").matcher(current);
first.find();
min = Integer.valueOf(first.group());
Matcher second = Pattern.compile("^\\D*\\d+\\D+(\\d+)").matcher(current);
second.find();
max = Integer.valueOf(second.group());
System.out.println("min: " + min + " max: " + max);
}
在这种情况下,假设字符串是“1 guacamole 36”,我希望它将min 变量设置为1,将max 设置为36。我该怎么做?所有出现的都是错误,我假设来自第二个匹配器的部分。
请让我知道您是否可以帮助查询或者我是否应该添加更多信息 - 提前致谢!
附: list 是一个字符串数组,我试图在其中为每个字符串,每次将最小值和最大值重置为字符串中的整数。
【问题讨论】:
-
Java API 文档docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/…中有一个有用的正则表达式(“regex”)支持参考
标签: java regex for-loop matcher