gpt4 book ai didi

java - 在特定字符后应用正则表达式条件

转载 作者:太空宇宙 更新时间:2023-11-04 08:38:04 24 4
gpt4 key购买 nike

我有一个字符串,我想将其解析为数组。给定字符串的格式为 P[AB, AC, AD] (A1, A2, A3)。我想将其存储在这样的数组中,以便第一个 ( 之后的所有数据都将通过正则表达式条件进行过滤:

P[AB, AC, AD]  
A1
A2
A3

这就是我想到的:

String regex = "/^(([,()]+)$";  
String[] numbers = stringIn.split(regex);

我的问题是它根本不起作用,因为正则表达式不会过滤掉这些片段,所有内容都存储在 numbers[0] 中。

最佳答案

我认为这就是您想要的:

String regex = "[ ,()]+(?=[^\\]]*$)";

String stringIn = "P[AB, AC, AD] (A1, A2, A3)";
String[] numbers = stringIn.split(regex);
for (String n : numbers)
{
System.out.println(n);
}

输出:

P[AB, AC, AD]
A1
A2
A3

[ ,()]+ 部分尝试匹配空格、逗号和括号(无论它们出现在何处),但 (?=[^\\]]*$) (正 lookahead )会过滤掉 ] 之前的任何匹配项。我假设字符串中只有一组方括号。

关于java - 在特定字符后应用正则表达式条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5924809/

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