Сменить всем символам регистр на нижний

Статус
В этой теме нельзя размещать новые ответы.

View

Постоялец
Регистрация
17 Авг 2009
Сообщения
107
Реакции
25
Здравствуйте, подскажите пожалуста как можно в тексте все символы перегнать в нижний регистр посредством регулярок?

Использую для работы Для просмотра ссылки Войди или Зарегистрируйся, просьба не кидайте решения на php

:thenks:
 
Никак. Сама по себе регулярка не производит ни трансформацию, ни даже замену, а лишь находит определенный фрагмент текста. По скольку нужно обработать все символы, стадия поиска отпадает, сразу преобразовываем символы. Например в perl это функция lc, в PHP strtolower, для вашего языка открываем мануал.
 
комбинация Ctrl+Shift+L ?
если php, то функция strtolower
 
  • Нравится
Реакции: View
TextFx->TextFx Characters->lower case

удобнее CTRL+L или CTRL+U для верхнего регистра

взято отсюда
 
  • Нравится
Реакции: View
RolCom, ты не прав. Регулярными выражениями можно не только искать текст, но и делать по нему замены. Правда чтобы сменить регистр достаточно встроенной функции редактора или языка, применять регулярки здесь сильно круто :)
 
Это ты ошибаешься.
Дабы не быть голословным, пример. Поднять регистр символам a-f
Код:
s/[a-f]+/uc ${^MATCH}/eg;
оператор s с помощью регулярного выражения [a-f]+ в левых скобках находит символы, а с помощью программного кода в правых скобках поднимает им регистр.
uc (Upper Case) функция поднимает регистр, возвращает строку. Переменная ${^MATCH} соответствует строке, найденой регулярным выражением.
 
Ну в принципе я это и имел в виду. Что можно проводить замену на все что угодно. А в перле так вообще есть удобная функция ~tr/[abc]/[ABC]/ которая просто ставит в соответствие первому набору символов второй и может работать с регулярными выражениями.
 
Код:
Что можно проводить замену на все что угодно.
Так то так, но это прерогатива оператора/функции для работы с регуляркой. В Perl s, m и функции split и grep делают это по разному. Можно и свою функцию написать, с блекджеком и шлюхами, задача регулярки обеспечить совпадения для ее работы. А так в правую часть s можно написать офигенный код, но это регуляркой не будет. По этому редактор, если он не имеет своего языка скриптов, не сможет выполнять трансформацию текста, найденого регуляркой, даже если механизм самих регулярок там лучше.

А tr не работает с регулярками, там просто указывается два набора символов, и диапазон можно через - указывать. Аналог uc для английских букв с tr будет tr/a-z/A-Z/;
 
Ок. Согласен. Ты все правильно по полочкам разложил. Конвертирование символов это задача функции.
 
А это нужно сделать именно посредсвом регулярных выражений? Или просто чтобы на веб странице текст в верхнем регистре был?

Если второе то есть свойство CSS text-transform:uppercase.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху