Привет, Сообщество разработчиков!
В настоящее время я работаю над разработкой некоторых руководств Ansible для управления конфигурацией Citrix NetScaler и хотел бы попросить помощи по следующим вопросам.
У меня есть следующая строка конфигурации, которую я хотел бы проанализировать с помощью TextFSM:
add lb vserver VS_ssl_443_testapps SSL 0.0.0.0 0 -persistenceType RULE -timeout 30 -rule "HTTP.REQ.COOKIE.VALUE(\"JSESSIONID\")" -resRule "HTTP.RES.SET_COOKIE.COOKIE(\"JSESSIONID\").VALUE(\"JSESSIONID\")" -cltTimeout 600 -td 1
Мне нужно было бы написать регулярное выражение, соответствующее любому содержимому, в двойных кавычках после ключевого слова -rule. Содержимое между начальными и конечными двойными кавычками может содержать больше двойных кавычек.
"HTTP.REQ.COOKIE.VALUE(\"JSESSIONID\")"
Моя проблема в том, что, если после ключевого слова -rule указано необязательное ключевое слово -resRule, а текст после ключевого слова -resRule также содержит двойные кавычки, соответствие содержания включает содержимое после ключевых слов -rule и -resRule.
Можно ли определить список нежелательных ключевых слов, когда содержимое между начальным и конечным двойными кавычками содержит любое из ключевых слов, а совпадение заканчивается на последнем двойном кавычках перед нежелательным ключевым словом?
Так, например,
Я пытаюсь поиграть с прогнозирующими и не захватывающими группами, но безуспешно.
https://regex101.com/r/UkPr05/1
(((\")(.*)(\"))(?:( -resRule.*)))
Заранее большое спасибо!