Что-то не могу составить регулярку, которая должна соответсвовать сабжевым условиям. Синтаксис 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/