Я выдвинул следующее регулярное выражение, чтобы иметь возможность извлекать цитаты из текста:
"(?P<quote>.+?(?<![^\\]\\))"
С этим все работает нормально: https://regex101.com/r/NVjtW4/1.
Однако мне было интересноесли бы были какие-то другие «приемы», которые вы могли бы использовать для извлечения цитируемых текстов. Возможно, со следующими ограничениями:
- Не используется
.+?
- Без использования отрицательного внешнего вида (возможно, вместо этого используется отрицательный класс символов).
В основномМой вопрос здесь не в том, «Каков единственный способ сделать это?», а в том, «Какие могут быть другие альтернативы», чтобы я мог видеть различные возможные подходы, чтобы решить, что для меня кажется трудным и хитрым регулярным выражением для создания\
, но не два \\
и т. Д.)
Кроме того, я хочу проверить, не существует ли нечетного числа экранировок, предшествующих кавычке:
".*?(?<=(\\{2})*)"
Но этодает мне ошибку "* A quantifier inside a lookbehind makes it non-fixed width"
. Еще один, который у меня был:
"[^((\\{2})*")]+"
Но это также не соответствует экранированным кавычкам.