Мне нужно совместить строки с двойными кавычками внутри большей строки, например:
"foo bar" == ""
он должен соответствовать "foo bar" и "" и для этого
"foo \" bar" == "\""
он должен соответствовать "foo \" bar" и "\"" до сих пор у меня есть это регулярное выражение:
(?<!\\\\)"(?:\\\\"|[^"])*(?<!\\\\)"
DEMO
но он заканчивается после первой сбежавшей цитаты. и не возвращать "foo \" bar" .
Я бы использовал это:
(?<!\\)"(?:\\"|[^"])*(?<![^\\]\\)"
Демо на regex101
(?<!\\)"(?:(?<!\\)\\"|[^"])*(?<![^\\]\\)" похоже, работает