SerafimArts
@SerafimArts
Senior Notepad Reader

Любой текст, который не содержит три заэкранированные кавычки?

Что-то не могу составить регулярку, которая должна соответсвовать сабжевым условиям. Синтаксис PCRE.

Пробовал такой вариант, но он что-то не очень: (?<quote>"{3})[^"\\]+(\\.[^"\\]*)*(?P=quote)

Примеры:
"""asdasd"""                    // group (полное соотвествие)

"""a"sda""sd"""                 // group (полное соотвествие, нет трёх кавычек)

"""a"s"dasd"""                  // group (полное соотвествие, нет трёх кавычек)

"""asdas"d"""                   // group (полное соотвествие, нет трёх кавычек)

"""a""sd""a\"""sd"""            // group (полное соотвествие, группа заэкранированна)

"""asd\"""a""sd"""              // group (полное соотвествие, группа заэкранированна)

"""asd"""sdfsdf"""              // group + sdfsdf (соотвествие только первой части)

"""a"sd"""sdfsdf"""s""df"""     // group + sdfsdf + group (соответствие двум группам)


Онлайн: https://regex101.com/r/XM6OYh/6/
  • Вопрос задан
  • 188 просмотров
Решения вопроса 2
@4iloveg
Full-Stack HTML Developer
Поправь, если я не правильно понял задачу.
https://regex101.com/r/XM6OYh/7
либо:
https://regex101.com/r/XM6OYh/8
Ответ написан
SerafimArts
@SerafimArts Автор вопроса
Senior Notepad Reader
Вот такая регулярка:
(?<quote>"{3})(?:(\\(?P=quote)|(?!(?P=quote))).?)*(?P=quote)


https://regex101.com/r/XM6OYh/6/
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы