gpt4 book ai didi

java - 如何在java正则表达式中转义括号?

转载 作者:行者123 更新时间:2023-12-01 18:54:07 24 4
gpt4 key购买 nike

我有一个像这样的字符串:

[1359873374000,281197568],[1360044062000,1206052864],[1360068648000,991623168]

如何使用正则表达式提取每个项目,例如 [1359873374000,281197568]

我已经编写了这段代码,但它不起作用:

String[] parts = mainstr.split("\\[[0-9],[0-9]\\]");

最佳答案

您的正则表达式与[1,2]匹配。您必须添加一个乘数:

"\\[[0-9]+,[0-9]+\\]"

编辑:我不认为 split() 会做你想要的。看看Matcher Class .

使用 Matcher 类的解决方案:

import java.util.regex.Matcher;
import java.util.regex.Pattern;

String sourceString = "[1359873374000,281197568],[1360044062000,1206052864],[1360068648000,991623168]";

Pattern pattern = Pattern.compile("\\[[0-9]+,[0-9]+\\]");
Matcher matcher = pattern.matcher(sourceString);

while (matcher.find()) {
System.out.print("Start index: " + matcher.start());
System.out.print(" End index: " + matcher.end() + " ");
System.out.println(matcher.group());
}

这将为您提供每一次出现的数字对。如果你想单独使用这些数字,你可以这样捕获它们:"\\[([0-9]+),([0-9]+)\\]"。不过,您必须扩展该示例。

关于java - 如何在java正则表达式中转义括号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14749390/

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