Regex для форматирования кода - PullRequest
0 голосов
/ 25 января 2012

Я хотел бы добавить перевод строки после полукомы в моем тексте.

Что-то вроде replace(";",";\n\r")

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

В случае кавычек я хочу эту замену:

var="Hello;World";
var="Hello;World";\r\n

а не это:

var="Hello;World";
var="Hello;\r\nWorld";\r\n

Спасибо тебе!

1 Ответ

1 голос
/ 25 января 2012

Вы можете сделать что-то вроде:

s/;(?=[^"\n]*(?:"[^"\n]*"[^"\n]*)*$)/;\n/gm; # perl synax

Если в строках нет экранированных кавычек и строки не занимают несколько строк.

То есть заменить:

;(?=[^"\n]*(?:"[^"\n]*"[^"\n]*)*(?m:$))

с

;\n
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...