flutter 如何匹配[ ]和之间除“,“之外的所有字符

7lrncoxx  于 2022-11-17  发布在  Flutter
关注(0)|答案(1)|浏览(150)

你好,我试着从这样的字符串中提取每组数据(每个数据由,分隔

MyString=[XXXXXX:XX   XX   XX   XX, XXXXX:332.83, XXXXX:XXX-XX-XX XX:XX:XX, XXXX:0.0, XXXX:2, XXXX:0, XXXX:-256, counter_tipeee:5, XXXX:136935, XXXX:0, XXXX:XX XXX XXX, XXXX:0.5, XXXXX:true, XXXX:0.509375, XXX:0.0, XXXX:[2022-06-14 06:45:00], 2022-09-17 XXXXX:1]

使用此正则表达式,我可以匹配除,之外的所有字符

([^,]*)

https://regex101.com/r/lCN2YK/1
但我搜索到不匹配的,
问题是,如果我用\s删除空格,它会删除字符串中某些数据的空格。我搜索以提取所有不精确为coma+空格的数据,我的正则表达式的另一个问题是,它没有从字符串中排除第一个[和最后一个]。我不能排除所有[ ],因为某些数据有[ ]
我发现这个正则表达式排除了第一个和最后一个字符^.(.*).$,但不知道如何合并我的两个正则表达式
https://regex101.com/r/CAsKHE/1
我期望的输出是

List<String> My_goal=  [

XXXXXX:XX   XX   XX   XX
XXXXX:332.83
XXXXX:XXX-XX-XX XX:XX:XX
XXXX:0.0, XXXX:2

....

2022-09-17,XXXXX:1
]
scyqe7ek

scyqe7ek1#

试试看:

(?<=(?<!: *)\[).*?(?=,)|(?<=, *(?=[^ \r\n]))(?:.*?(?=,)|[^,\r\n\[\]]+?(?=\])|[^,\r\n]+\](?= *\]))

请参阅regex demo

相关问题