gpt4 book ai didi

java - 使用正则表达式提取字符串

转载 作者:行者123 更新时间:2023-12-01 17:18:14 26 4
gpt4 key购买 nike

[0-6, 1-3][01-20, 22-23]22/123

从上面的输入中,我想提取以下文本。

0-6, 1-3
01-20, 22-23
22
123

以下代码片段提取除第一个文本之外的所需文本。

    Pattern depArrHours = Pattern.compile("^(\\[(.+)\\]){2}(.+)\\/(.+)$");
Matcher matcher = depArrHours.matcher("[0-6, 1-3][01-20, 22-23]22/123");
if (matcher.matches()) {
System.out.println(matcher.group(0));
System.out.println(matcher.group(1));
System.out.println(matcher.group(2));
System.out.println(matcher.group(3));
System.out.println(matcher.group(4));
}

输出:

[0-6, 1-3][01-20, 22-23]22/123
[01-20, 22-23]
01-20, 22-23
22
123

您能帮我修复我的正则表达式模式以提取第一部分(0-6, 1-3)吗?

最佳答案

您可以尝试单独指定每个 (\\[(.+)\\]) 而不是 {2}:

Pattern depArrHours = Pattern.compile("^(\\[(.+)\\])(\\[(.+)\\])(.+)\\/(.+)$");
Matcher matcher = depArrHours.matcher("[0-6, 1-3][01-20, 22-23]22/123");
if (matcher.matches()) {
System.out.println(matcher.group(0));
System.out.println(matcher.group(1));
System.out.println(matcher.group(2));
System.out.println(matcher.group(3));
System.out.println(matcher.group(4));
System.out.println(matcher.group(5));
System.out.println(matcher.group(6));
}

输出:

[0-6, 1-3][01-20, 22-23]22/123
[0-6, 1-3]
0-6, 1-3
[01-20, 22-23]
01-20, 22-23
22
123

关于java - 使用正则表达式提取字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20560046/

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