Форум программистов, компьютерный форум, киберфорум
PHP: RegExp
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/18: Рейтинг темы: голосов - 18, средняя оценка - 4.56
22 / 22 / 3
Регистрация: 24.06.2013
Сообщений: 177

Перевод строки в нижний регистр

15.03.2017, 21:24. Показов 3615. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую товарищи!

Я не пойму, почему у меня не работает в коде экранирующая последовательность \L, переводящая буквы из верхнего регистра в нижний. Сам код:
PHP
1
$code = preg_replace('`#([a-f\d]{3,6})`i', '#\L\1', $code);
Смысл кода в том, чтобы все HEX цвета перевести в нижний регистр. Однако preg_replace трактует последовательность \L как обычный литерал, поэтому после замены код становится таким: color:#\L000;
Но если запустить этот шаблон в онлайн редакторе регулярок, то там все прекрасно отрабатывает https://regex101.com/r/Pu0Gi9/1/
В чем проблема, подскажите пожалуйста?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.03.2017, 21:24
Ответы с готовыми решениями:

Перевод в нижний регистр
Доброго времени суток. Возникла такая проблема - не могу добиться нормальной работы перевода в нижний регистр. Что только не перепробовал -...

Переводит латиницу в нижний регистр
Добрый день. Не могу ни как добится того, чтоб str_ireplace или preg_replace не трогал регистр латиницы. С кириллицей проблем нет. $text...

А как конвертнуть в нижний или верхний регистр?
Люди.. ПОдскажите как можно конвернуть словцо (русское) в нижний регистр или в верхний? Спасибо.

7
Эксперт PHP
 Аватар для Fedor Vlasenko
936 / 693 / 236
Регистрация: 01.02.2015
Сообщений: 1,848
15.03.2017, 23:54
PHP
1
echo strtolower ('#fF56aA'); //#ff56aa
1
22 / 22 / 3
Регистрация: 24.06.2013
Сообщений: 177
16.03.2017, 00:31  [ТС]
Fedor Vlasenko, спасибо.
Есть ли способ заставить работать \L?
0
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
16.03.2017, 13:42
Лучший ответ Сообщение было отмечено Aialonix как решение

Решение

Цитата Сообщение от Aialonix Посмотреть сообщение
Есть ли способ заставить работать \L?
А зачем: использование регулярных выражений для смены регистра — лишняя (хоть и незаметная) трата ресурсов и времени. Для этого лучше использовать функции смены регистра
PHP
1
2
3
4
5
# Для однобайтных кодировок
strtolower($str);
# Для многобайтных кодировок
mb_strtolower($str)
mb_convert_case($str, MB_CASE_LOWER);
The following Perl escape sequences are not supported: \l, \u, \L, \U. In fact these are implemented by Perl's general string-handling and are not part of its pattern matching engine.
1
22 / 22 / 3
Регистрация: 24.06.2013
Сообщений: 177
16.03.2017, 16:15  [ТС]
Kerry_Jr благодарю за подробное объяснение!
0
 Аватар для volodin661
6667 / 2259 / 346
Регистрация: 10.12.2013
Сообщений: 7,818
16.03.2017, 20:49
Цитата Сообщение от Kerry_Jr Посмотреть сообщение
использование регулярных выражений для смены регистра — лишняя (хоть и незаметная) трата ресурсов и времени
да никаких затрат, к рег. выражениям это никак не относится,
обычный синтаксический сахар для вызова функций toupper/tolower,
о чём собственно и повествует приведённая выше цитата
'In fact these are implemented by Perl's general string-handling ... '
0
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
16.03.2017, 21:16
Цитата Сообщение от volodin661 Посмотреть сообщение
синтаксический сахар
Для тех, кто любит регулярки. По-моему же, это не сахар, а извращение.
0
 Аватар для volodin661
6667 / 2259 / 346
Регистрация: 10.12.2013
Сообщений: 7,818
17.03.2017, 04:27
ну, у меня никакого отторжения не вызывает,
мнемоника понятна,
но справедливости ради можно отметить,
что из 6-ой версии Perl эти выражения ушли и из регулярок, и из интерполируемых строк.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.03.2017, 04:27
Помогаю со студенческими работами здесь

Строки. Перевод букв в нижний регистр.
Составить программу, которая осуществляет ввод строки с клавиатуры и преобразует все большие буквы русского алфавита в малые, и наоборот. ...

Перевод в нижний регистр
Приветствую . Прошу помощи , выдаёт ошибку при переводе в нижний регистр , в чём проблема ? #include <vector> #include...

Перевод в нижний регистр
Господа, такая проблема. Необходим скрипт, проходящий рекурсивно все папки в текущей и изменяющий имена и расширения файлов в нижний...

Перевод в нижний регистр
Есть строка стринг в которой записана кириллица, нужно перевести ее в нижний регистр.

Перевод символов в нижний регистр
Немного не в тему, но почему не удается перевести в нижний регистр символы таким образом? for(int i=0;i<str.Length();++i) ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru