Xpoint
   [напомнить пароль]

Проблема регистра кирилических символов?

Метки: [без меток]
2004-05-31 18:23:02 [обр] Taras[досье]

Как решить проблему независимого от регистра букв поиска или замены
кирилических символов/строк в регулярных выражениях.

Например такое выражение:

$str0=~s/(.)/\[\U\\$1\L\\$1\]/g;

работает для латинских литер; для кирилических литер нет!
Или к примеру флаг "i" (в операциях поиска/замены) - не работает
если строка кирилическая.
Есть ли какой-то выход?

P.S.
  Perl programm: - CGI on Web-server
  Server OS: - FreeBSD!

спустя 43 минуты [обр] Алексей Севрюков(45/1292)[досье]
Taras[досье] locale?
спустя 16 часов [обр] Владимир Палант(98/4445)[досье]
Более конкретно: perldoc perllocale
спустя 6 часов [обр] Закиров Руслан(12/343)[досье]
Владимир Палант[досье], Вы не находите, что на данный момент эту проблему можно решить большим количеством методов и из них locale не самый удобный, так как эта прагма имеет лексическую область видимости, что не позволит полноценно применять данный подход в программах, которые работают с различными кодировками.
Я предлагаю, добавить в FAQ, если не примеры, то хотя бы ссылки на perldoc utf8, encoding - это что касается текста внутри кода. perldoc PerlIO - это касательно I/O операций. perldoc Encode - конвертация туда-сюда.
спустя 20 минут [обр] Владимир Палант(98/4445)[досье]
Закиров Руслан[досье]
А я не знаю, что в данном случае самое удобное и не узнаю, пока автор не скажет. Перекодировка в UTF-8 может быть и удобней в каких-то случаях, но влияет на производительность скрипта (locale, конечно, тоже, но ИМХО меньше). Есть мнение, что для простых задач это не имеет смысла.
спустя 38 минут [обр] Закиров Руслан(12/343)[досье]
Владимир Палант[досье]
ИМХО, FAQ все равно можно обновить :) А кто тут первый в рейтинге? :)
спустя 16 часов [обр] Владимир Палант(98/4445)[досье]
При чем тут рейтинг? У этого раздела модератор есть... А я, между прочим, в Perl с Unicode ни разу даже не работал. Так что - инициатива наказуема, составьте текст и отошлите модератору.
спустя 9 дней [обр] Александр Пелих(35/530)[досье]
Закиров Руслан[досье] Если у человека не работает регулярка, то ему проще всего будет выставить локаль.
Ну а если это будет не его решение, то тогда уже он будет думать.
Powered by POEM™ Engine Copyright © 2002-2005