RegexQuiz - 任务20 - 匹配csv

时间:2013-01-05 22:08:13

标签: regex

我尝试在http://www.regex101.com/quiz/解决测验并且遇到了剩余的六项任务。

任务#20

  

在逗号分隔的列表中,反向引用所有元素。此外,一个项目可以用引号括起来,在内部引号中,反斜杠可以转义一个字符。必须修剪每个元素周围的空间。示例: one,"item two" , "item \"three\"" , "and, finally, the fourth"

我目前的尝试是这个甜蜜的正则表达式:

/(?:^|\G)\s*"?((?<=")(?:\\.|[^\n"\\])*(?=")|(?<!")[^\n",]+(?<!\s))"?\s*(?:,|$)/gm

可在此处测试:http://www.regex101.com/r/mH6rB2

以下是问题:

  

27个测试中的第15个失败:如果一个项目以引号开头,则应该关闭它。如果有一个具有不平衡报价的项目,那么您的模式不应与该项目相匹配,也不应与该项目相匹配。例如,您不应该匹配: "this_item,should,not,match

我完全针对给定的字符串进行了测试( "this_item,should,not,match )(请参阅上面的链接)并且它不匹配。什么要测试告诉我?!

也很奇怪:RegexQuiz - Task 19 - matching entity

1 个答案:

答案 0 :(得分:0)

测验中有一个错误,不再需要答案,上面的正则表达式就是解决方案。