gpt4 book ai didi

java - 用于以版本格式提取数字的正则表达式

转载 作者:行者123 更新时间:2023-12-01 23:20:47 24 4
gpt4 key购买 nike

我要从字符串中提取数字。数字代表一个版本。这意味着,我将匹配介于以下之间的数字:

  • _/
  • //

我准备了以下正则表达式,但它没有按预期工作:

.*[\/_](\d{1,2}[.]\d{1,2}[.]\d{1,2})\/.*

对于下面的例子,正则表达式应该匹配两次:

输入:name_1.1.1/9.10.0/abc。预期结果:1.1.19.10.0,但我的正则表达式只返回 9.10.0,省略了 1.1.1。你知道哪里出了问题吗?

最佳答案

您可以在 _/ 上拆分字符串,然后保留看起来是版本的组件:

List<String> versions = new ArrayList<>();
String input = "name_1.1.1/9.10.0/abc";
String[] parts = input.split("[_/]");
for (String part : parts) {
if (part.matches("\\d+(?:\\.\\d+)*")) {
versions.add(part);
}
}

System.out.println(versions); // [1.1.1, 9.10.0]

关于java - 用于以版本格式提取数字的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68116291/

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