0

http://www.regex101.com/quiz/でクイズを解こうとしましたが、残りの6つのタスクで行き詰まりました。

タスク#20

カンマ区切りのリストで、すべての要素を逆参照します。さらに、アイテムを引用符で囲むことができ、引用符の内側では、円記号で文字をエスケープできます。各要素の周囲のスペースはトリミングする必要があります。例:one,"item two" , "item \"three\"" , "and, finally, the fourth"

私の現在の試みは、この甘い正規表現です。

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

ここでテストできます:http://www.regex101.com/r/mH6rB2

そしてここに質問があります:

テスト15/27が失敗しました:1つのアイテムが引用符で始まる場合、それを閉じる必要があります。また、引用符が不均衡なアイテムがある場合、パターンはそのアイテムやその時点からのその他のものと一致してはなりません。たとえば、次のように一致させるべきではありません。"this_item,should,not,match

"this_item,should,not,match指定された文字列( )(上記のリンクを参照)に対して正確にテストしましたが、一致しません。テストで何を教えてほしいですか?!

また奇妙な:RegexQuiz-タスク19-一致するエンティティ

4

1 に答える 1

0

クイズにバグがあり、回答は不要になりました。上記の正規表現が解決策です。

于 2013-01-06T22:55:32.770 に答える