我想我们可以在左边和逗号右侧查找偶数引号......但我不太清楚如何写它。有人知道吗?
实际上......你只需要检查(左或右)。
我想对此进行拆分,因此必须匹配仅逗号。
示例:
one, "two, three"
应分为两个字符串:
['one', ' "two, three"']
答案 0 :(得分:2)
你在解析CSV吗?正则表达式是一个非常糟糕的方式。读取CSV定义(容易googlable)后,您可以编写一个自动机来执行此操作。或者......你可以在网上偷走许多现成解决方案中的一个。
答案 1 :(得分:1)
单独的正则表达式对于确定嵌套条件并不是很好。支撑匹配,报价匹配等,它不是真正的任务。您可以将正则表达式与循环结合使用来解析事物,但另一方面,简单地自行解析它可能更简单。
也许您可以提供一些示例字符串来阐明您需要匹配的内容,以便我可以更好地回答。
*编辑:查看您提出的解决方案是否适用于\\“\}转义的地方,而不是”?
如果你正在处理现实世界的字符串或复杂的转义序列,我怀疑你会发现你的正则表达式存在缺陷。可能这不是常见的情况,但同样重要的是要理解正则表达式可能不是你真正想要做的。正则表达式没有嵌套状态的概念,即使对于简单的引用,转义序列也难以正确处理。
答案 2 :(得分:0)
为什么不使用字符串类的Split方法?
String[] s = someString.Split(",");
// s[0] would contain the portion to the left of the comma
// s[1] would contain the portion to the right of the comma
答案 3 :(得分:0)
没关系......想想我明白了:
Regex("(?<=[^\"]*(?:\"[^\"]*\"[^\"])),");