Я хочу сопоставить одинарную или двойную кавычку, за которой следует любое количество символов, которые не совпадают с только что выбранным символом, за которым следует один из сопоставленных символов:
"--'__'--"
Должно совпадать с двойнойцитаты на каждом конце.Тем не менее, я хочу, чтобы совпадение было притяжательным, так как любые символы, которые уже были проверены, не должны быть включены ни в какие будущие совпадения:
"--'__'--
Если не , потому что двойная кавычканачало никогда не сопровождается другим в конце.Я придумал:
(?P<q>['"])(?>((?!(?P=q)).)*)(?P=q)
Но это все равно соответствует моему второму приведенному выше примеру строки с одинарными кавычками в середине.Я не понимаю, почему атомная группа не достигает этого.Я не смог выполнить это ни с какой другой организацией атомной группировки.
Кроме того, если вообще возможно сопоставить только символы между кавычками, утверждая, что кавычки присутствуют, что будетотлично.Поскольку утверждения с задним числом имеют фиксированную ширину, я не могу использовать обратную ссылку, чтобы утверждать, что захваченная группа из одинарных или двойных кавычек встречается до отрицательного просмотра.