我在正则表达式中有一个异常。用这个正则表达式
https://regex101.com/r/pxTfci/1
我可以匹配由,
分隔的字符串中的所有数据(key:value)。问题我与格式类似的某个List发生冲突
我的列表:[数据1,数据2,数据3]
使用此正则表达式(?<=(?<!: *)\[).*?(?=, )|(?<=, +(?=[^ \r\n]))(?:.*?(?=, )|[^\r\n\[\]]+?(?=\])|[^\r\n]+\](?= *\]))
我有三个火柴
match 1 = Mylist:[data1
match 2 = data2
match 3 = data3]
我搜索这个异常,当我有[
]
时,在输出中有Mylist:[data1, data2, data3]
我不知道这是否可能。下面是一个完整输入格式的例子。
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, XXXX:5, XXXX:136935, XXXX:0, XXXX:XX XXX XXX, XXXX:0.5, XXXXX:true, XXXX:0.509375, XXX:0.0, 2022-09-17,XXXXX:1, list1:[2000-00-00 00:00, 2022-11-16 15:29, 2022-11-16 15:29], list2:[2000-00-00 00:00, 2022-11-16 15:29, 2022-11-16 15:29], ]
我寻找
match 1 = XXXXXX:XX XX XX XX
match 2 = XXXXX:332.83
...
match x =2022-09-17,XXXXX:1
match y =list1:[2000-00-00 00:00, 2022-11-16 15:29, 2022-11-16 15:29]
match z =list2:[2000-00-00 00:00, 2022-11-16 15:29, 2022-11-16 15:29]
1条答案
按热度按时间9w11ddsr1#
您有两个选项:
首先尝试这样做:
或
创建字符串时,可以将列表中的“,”替换为可以轻松更改的特殊字符。
祝你今天愉快