Я был счастлив в своем textpad и ecplise мире, пока я не должен был начинать работать с серверами, работающими в соответствии с Linux. Удаленные сценарии и настроенный файлов конфигурации были необходимы!
Это было твердо в начале, но теперь я могу легко настроить и настроить свои серверы.
Нет необходимости в поиске назад:
"([^"]|\\")*"
Итак: сопоставьте кавычки, а внутри них: каждый символ, кроме кавычек ( [^ "]
) или экранированная цитата ( \\ "
), произвольно много раз ( *
).
"Не предшествует" переводится непосредственно в "отрицательный взгляд назад", поэтому вам нужно (? .
Хотя вот вопрос это может испортить вам день: а как насчет строки «foo \\»
? То есть двойных кавычек, которым предшествуют две обратные косые черты, где в большинстве экранирующих синтаксисов мы хотели бы отрицать особое значение вторую обратную косую черту, поставив перед ней первую.
Именно поэтому регулярные выражения не заменяют синтаксические анализаторы.