Заменить неправильные xml -комментарии регулярным выражением - PullRequest
1 голос
/ 06 апреля 2020

Я имею дело с xml файлами, содержащими однострочные комментарии, например: // Some comment. Я почти уверен, что xml комментарии выглядят так: <!-- Some comment --> Я хотел бы использовать регулярное выражение в редакторе Atom, чтобы найти и заменить весь неправильный синтаксис комментариев.

в соответствии с этого вопроса , комментарий можно найти с (?<=\s)//([^\n\r]*) и заменить на что-то вроде <!--$1-->. Где-то должна быть ошибка, так как нажатие кнопки замены оставляет комментарий как есть, а не заменяет его. На самом деле я даже не могу заменить его простым персонажем. Поиск и замена работ с другим регулярным выражением в поле «Найти»:
Найти: name.*
Заменить: baloon

Могу ли я что-нибудь написать в полях «Найти» и «Заменить», чтобы добиться этого преобразования?

1 Ответ

1 голос
/ 06 апреля 2020

Поиск и замена в редакторе Atom в настоящее время не поддерживает конструкции, похожие на (?<=\s). Чтобы «подражать» ему, вы можете использовать группу захвата с чередованием между началом строки ^ и пробелом \s.

Итак, вы можете использовать

Найти что : (^|\s)//([^\n\r]+) Заменить на : $1<!--$2-->

См. Демонстрационную версию regex . ПРИМЕЧАНИЕ \s может совпадать с новыми строками, поэтому, возможно, вы захотите использовать (^|[^\S\r\n])//([^\n\r]+), чтобы избежать совпадения через разрывы строк.

Если вам не нужно проверять пробелы, просто удалите эта первая группа захвата и использовать просто:

Найти что : //([^\n\r]+) Заменить на : <!--$1-->

См. еще одну демонстрацию регулярных выражений .

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