Автор Тема: Русский в регулярных выражениях...  (Прочитано 3170 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн KiLLjoY aka SerZH

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 45
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Русский в регулярных выражениях...
« : 10 Августа 2006, 16:30:13 »
Вот такой у меня вопрос.. или задача!
Нужно сделать функцию которая склоняет скажем слово \'Месяц\' по числу находящемуся слева соответственно.

Есть массив в котором находятся регулярные выражения в строковом виде. Perl имеет установленную локаль cp1251.

Запускаем функцию например так - &decline_string_by_digits(1251Часов);
 - (естественно на выводе должно быть 1251 Час)

Вот кусок из функции &decline_string_by_digits(); :
      for(0..$#{$ARRAY[3]}){ # перебираем псведо-регулярные выражения из массива
         my $pat = qr/$ARRAY[3]->[$_]/;# компилируем строки в настоящие рег выражения
         print $word =~ /$pat/; Сравниваем...
      }

Сравнение неудачно...
В чём дело?
P.S.: Если все слова перевести в латиницу(на англицкий) - то всё зашибись, а с русским не работает.

Оффлайн vladsu

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 271
  • +0/-0
  • 0
    • Просмотр профиля
    • http://vladislavsurguchev.eu/
Русский в регулярных выражениях...
« Ответ #1 : 10 Августа 2006, 18:30:34 »
Цитировать
KiLLjoY aka SerZH:
Perl имеет установленную локаль cp1251.

Я не понял что имеется ввиду.

Посмотрите:

perldoc perllocale
----------------------------------------------
Мой сайт чёрно-белых фотографий из разных уголков мира тут

Оффлайн KiLLjoY aka SerZH

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 45
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Русский в регулярных выражениях...
« Ответ #2 : 11 Августа 2006, 13:42:01 »
Я уже разобрался.. спасибо!

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28