【发布时间】:2021-07-09 19:14:27
【问题描述】:
我一直在努力解决这个问题 - 但本质上我要解决的是我有一个字符串,该字符串是从较大的字符串中解析出来的,该字符串包含许多由逗号分隔的字段“,”看起来像这样:
{parameters format=,, =separtorChar=|, field.delim=,}
请注意,您可能会注意到 - 一些“值”实际上是逗号“,”本身 - 因此,当我用“,”拆分时,它会产生错误的结果。
我已经能够使用以下正则表达式解析出分隔逗号:
(?<![,],),(?!,)
这给了我分隔逗号,但最终也将字符串末尾的逗号视为分隔符而不是值 结果:
{parameters format=,{,} =separtorChar=|{,} field.delim={,}} <-- this comma "," is a value
无法保证逗号始终位于“=”旁边,因此我无法使用模式搜索或省略空格,因为该值需要保持不变,因为它位于“=”和以下字段之间或行尾
任何想法或建议将不胜感激
谢谢!
【问题讨论】:
-
也许你想匹配逗号后面跟一个空格?
(?<!,,),(?=\s)?你如何口头描述你需要的模式?它不应该匹配没有紧跟在两个逗号前面的逗号和...? -
@WiktorStribiżew 哇!如此简单,我可以相信我错过了 - 就是这样!我的天啊 !昨晚凌晨 4 点,当我用头敲键盘时,你在哪里 LOL