Сейчас я пишу синтаксический анализатор для кода ColdFusion. Я использую регулярное выражение (в C #) для извлечения атрибута name datasource тега cfquery.
В настоящее время регулярное выражение выглядит следующим образом
хорошо работает для таких строк, как
Но при синтаксическом анализе строк вроде
Очевидно, причина заключается в части регулярного выражения (?: '| "). Есть ли способ сопоставить только одинарную кавычку при первом совпадении была одинарная кавычка? И совпадать с двойной кавычкой только тогда, когда первое совпадение было двойной кавычкой?
Заранее спасибо!