Автор Тема: Регулярные выражения на Perl  (Прочитано 2580 раз)

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

  • Гость
Регулярные выражения на Perl
« : 23 Марта 2001, 10:28:57 »
Народ !!!
Я тут с регулярными выражениями в Perl\'e завис.
Есть строка, из нее надо выделить слова (убрать пробелы etc, оставить а-яА-Яa-zA-Z0-9).

Использую
@WorkArr = split(/[,._-\\s+]/, $word);

Но он не понимает если задано "слово1 - _ слово2".

И есть ли более универсальный способ ?

Оффлайн Chs

  • Perl программер
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1108
  • +0/-0
  • 2
    • Просмотр профиля
    • http://chs.now.at/
Регулярные выражения на Perl
« Ответ #1 : 23 Марта 2001, 14:01:25 »
Цитировать
@lexandr (23-03-2001 10:28):
Народ !!!
Я тут с регулярными выражениями в Perl\'e завис.
Есть строка, из нее надо выделить слова (убрать пробелы etc, оставить а-яА-Яa-zA-Z0-9).

Использую
@WorkArr = split(/[,._-\\s+]/, $word);

Но он не понимает если задано "слово1 - _ слово2".

И есть ли более универсальный способ ?
@WorkArr = split(/[,\\._\\-\\s]+/, $word);

Более универсальный -
m/([\\w\\d]+)/g и perldoc Locale. :))
2B OR NOT 2B = FF

  • Гость
Регулярные выражения на Perl
« Ответ #2 : 23 Марта 2001, 15:26:13 »
use locale у меня вообще ни разу не срабатывало.

как сделать, чтобы \\W (и подобные фичи) реагировало на русские символы ?

Оффлайн Chs

  • Perl программер
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1108
  • +0/-0
  • 2
    • Просмотр профиля
    • http://chs.now.at/
Регулярные выражения на Perl
« Ответ #3 : 23 Марта 2001, 16:35:23 »
Цитировать
@lexandr (23-03-2001 15:26):
use locale у меня вообще ни разу не срабатывало.

как сделать, чтобы \\W (и подобные фичи) реагировало на русские символы ?

perldoc perllocale
2B OR NOT 2B = FF

 

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