Регулярное выражение для перевода тегов в нижний регистр в Notepad++

G
На сайте с 02.04.2015
Offline
35
1387

Привет!

Прошу помощи сообщества - нужно составить регулярное выражение для перевода все тегов в нижний регистр

К примеру <a href="AgencytheoryAQ-1.htm">...</a>

нужно преобразовать в

<a href="agencytheoryaq-1.htm">...</a>

Заранее благодарю за помощь

Mad_Man
На сайте с 10.11.2008
Offline
162
#1

Перестаньте парсить DOM регулярками.

siv1987
На сайте с 02.04.2009
Offline
427
#2

Всех тегов или аттрибут "href" тега "a"?

J
На сайте с 20.02.2014
Offline
120
jkm
#3

Такое вполне решается макросами.

Меню Макросы -> Начало записи. Потом вызываем меню поиска и для поиска атрибутов href в шаблон поиска вбиваем такую регулярку

href="\K[^"]+

Жмём искать далее и в тексте будет выделен найденый текст. Кликаем правой кнопкой по нему и в контекстном меню выбираем строчные. После жмём меню Макросы -> Остановка записи и многократный запуск.

G
На сайте с 02.04.2015
Offline
35
#4

работает на странице но как обработать файлы в пакете?

G
На сайте с 02.04.2015
Offline
35
#5

Но может можно это сделать в другой программе

А если при помощи поиска и замены в notepad то что ставить в поле заменить?

J
На сайте с 20.02.2014
Offline
120
jkm
#6

В Notepad++ под эту задачу нужный макрос стандартными средствами записать не удалось, так что придется вручную добавлять в файле shortcuts.xml между тегами <Macros> и </Macros>. Добавлять при закрытом Notepad++.


<Macro name="lowercase" Ctrl="no" Alt="no" Shift="no" Key="0">
<Action type="2" message="0" wParam="43046" lParam="0" sParam="" />
<Action type="2" message="0" wParam="42017" lParam="0" sParam="" />
</Macro>

Очистить результаты поиска.

Вызвать меню поиска в файлах.

Указать нужную папку и фильтр.

Шаблон поиска используем тот же href="\K[^"]+.

Смотрим на количество найденных результатов и указываем это число в меню многократного запуска макроса.

После сохранить все.

G
На сайте с 22.09.2007
Offline
161
#7
geum:
А если при помощи поиска и замены в notepad то что ставить в поле заменить?

Найти: <(.*)>

Заменить на: \L<$1>

находит всё, что находится в скобках <> и делает lowercase, для uppercase \U

для пакетной обработки файлов, идем в закладку "Найти в файлах".

J
На сайте с 20.02.2014
Offline
120
jkm
#8
gruz_:
Заменить на: \L<$1>

Так это же фича Perl, а в редакторы обычно встраивают библиотеку PCRE и там такой фичи нету.

G
На сайте с 22.09.2007
Offline
161
#9
jkm:
Так это же фича Perl, а в редакторы обычно встраивают библиотеку PCRE и там такой фичи нету.

ТС спрашивал "Регулярное выражение для перевода тегов в нижний регистр в Notepad++"

не знаю как в редакторах, а в Notepad++ это работает, сам проверял.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий