Изменение регистра URL-адреса с помощью Regex

Я использую проприетарную CMS, и у нее есть инструмент для перезаписи URL, который я пытаюсь использовать Regex для возврата URL в нижнем регистре.

Формат инструмента - это шаблон (где вы вводите то, что вводит конечный пользователь) и подстановка (где вы вводите то, что вы хотите изменить).

Я пытался использовать Pattern: www.domain.com/.*$1[A-Z] Замена: www.domain / com / $ [a-z]

Однако это ничего не дает. Я никогда раньше не использовал Regex и мне нужна помощь.


person John Paul    schedule 19.03.2015    source источник


Ответы (1)


Для разных видов регулярных выражений это разные, но вы должны попробовать что-то вроде:

pattern:      www.domain.com/(.*)
substitution: www.domain.com/\L$1

Как правило, в строке подстановки необходимо обращать внимание на следующие флаги регистра:

  • \L строчные все последующие буквы
  • \U все последующие буквы в верхнем регистре
  • \l строчная следующая буква
  • \u заглавная следующая буква
  • \E преобразование стоп-регистра (например, все следующие буквы совпадают)
person Adam Smith    schedule 19.03.2015
comment
Регулярное выражение находится на Java. Я пробовал это, но получаю сообщение об ошибке: String index out of range: 30 error. - person John Paul; 19.03.2015
comment
Таким образом, @JohnPaul связан с этим вопросом чей ответ гласит: вы не можете сделать это в регулярном выражении Java. Есть и другие способы справиться с этим в Java, но если вы ограничены использованием регулярных выражений для решения этой проблемы в Java, это невозможно. - person Adam Smith; 19.03.2015