Я экспериментирую, чтобы узнать flex и хотел бы соответствовать строковым литералам. В настоящее время мой код выглядит следующим образом:
"\""([^\n\"\\]*(\\[.\n])*)*"\"" {/*matches string-literal*/;}
Я борюсь с вариациями в течение часа или около того и не могу заставить его работать так, как должно. Я по существу надеялся сопоставить строковый литерал, который не может содержать новую строку (если только она не экранирована) и поддерживает экранированные символы.
Я, вероятно, просто пишу плохое регулярное выражение или несовместимое с flex. Пожалуйста, советую!