Regex изменить прописные буквы на строчные в теге - PullRequest
0 голосов
/ 04 декабря 2018

Я хочу любое выражение регулярного выражения, где можно изменить все заглавные буквы на строчные. Например, ввод <a href="/Category">Text</a> <a href="/Abc-XYZ">Text</a> <a href='/CategorY/'>Text</a>

Вывод <a href="/category">Text</a> <a href="/abc-xyz">Text</a> <a href='/category/'>Text</a>

Я пытаюсь <a(\w*)<\/a> в \L$1, но неполучение ожидаемого результата

Ответы [ 3 ]

0 голосов
/ 04 декабря 2018

поиск: (<a href=['"])([^'"]+)(.*)

заменить: $1\L$2\E$3

Ключ должен использовать \E, чтобы остановить замену регистра.Я не знаком с инструментом notepad ++.Не знаю, как бы это сделать замена.Так что я просто дал шаблон для соответствия всей линии.Это может быть сокращено.

0 голосов
/ 04 декабря 2018
  • Ctrl + H
  • Найти что: (?<=href=['"])[^'"]+
  • Заменить на: \L$0
  • UNcheck Match case
  • check Обтекание
  • check Регулярное выражение
  • Заменитьвсе

Объяснение:

(?<=            # start lookbehind, zero-length assertion, makes sure we have before:
    href=['"]   # href= followed by single or double quote
)               # end lookbehind
[^'"]+          # 1 or more any character that is not single or double quote

Замена:

\L      # lowercase the following
$0      # content of group 0 (i.e. the whole match)

Результат для данного примера:

href="/category">Text</a> 
<a href="/abc-xyz">Text</a>
<a href='/category/'>Text</a>
0 голосов
/ 04 декабря 2018

Найти все символы до первого > (ленивый квантификатор): <a(.*?)>

Заменить все сопоставленные группы на строчные: <a\L$1>

Вот рабочая демоверсия (также протестирована в блокноте ++ )

...