Он также должен хорошо работать в Python (как вы говорите, с re.DOTALL). В Python вы можете использовать необработанную строковую нотацию, чтобы сохранить дополнительный экранирование от обратной косой черты, хотя вам все равно придется экранировать одинарную кавычку. Это должно быть эквивалентно:

приведено регулярное выражение PHP, предназначенное для сопоставления (многострочных) строк внутри исходного кода PHP или JavaScript (изэта почта), но я подозреваю, что у него есть проблемы. Что такое буквальный эквивалент Python (или еще PERL)?

~'(\\.|[^'])*'|"(\\.|[^"])*"~s
модификатор s означает, что точка соответствует всем символам, включая перевод строки; в Python этоre.compile(..., re.DOTALL)Я совершенно не понимаю намерения ведущих\\. ? Это сводит к. ? Нужно ли использовать двойную обратную косую черту в PHP дважды?

позволяя вкаждый позиционировать матч либо\\. или же[^'] (любой не-кавычка) кажется мне излишним, может быть, объясняет, почему взорвалось регулярное выражение этого человека. Есть ли[^'] группа не соответствует всему, что. с модификатором s, конечно, он должен соответствовать символам новой строки?

для построения двух версий регулярного выражения с одинарными и двойными кавычками в Python, можно использоватьэтот двухступенчатый подход

NB более простую версию этого регулярного выражения также можно найти в этомсписок примеров регулярных выражений PHP в разделе Программирование: Строка.

Ответы на вопрос(2)

Ваш ответ на вопрос