0

我尝试在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

这是一个问题:

测试 15 of 27 失败:如果一个项目以引用开头,则应该关闭它。如果有一个带有不平衡引号的项目,你的模式不应该匹配那个项目或者从那个点开始的任何其他内容。例如,您不应该匹配:"this_item,should,not,match

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

也很奇怪:RegexQuiz - 任务 19 - 匹配实体

4

1 回答 1

0

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

于 2013-01-06T22:55:32.770 回答