Undr

На память

Русский язык и \w в регулярках

1 Star2 Stars3 Stars4 Stars5 Stars (1 голосов, средний: 5.00 из 5)
Loading ... Loading ...

without comments

Для того, чтобы выбрать все буквы, в регулярных выражениях используется выражение \w.

"Bla-bla-bla! (c)".gsub(/[^\w]/u, '') # => "BlaBlaBlac"

С русским языком такое не получится:

"Бла-Бла-Бла! (с)".gsub(/[^\w]/u, '') # => ""

Самое первое что приходит на ум это:

"Бла-Бла-Бла! (с)".gsub(/[-я]/iu, '') # => "БлаБлаБлас"

Оппана! Вроде работает, но на самом деле, это не корректное выражение. Пример:

'ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЁЯЧСМИТЬБЮйцукенгшщзхъфывапролджэёячсмитьбю1234567890=/!"№%:,.;()_+!@#$%^&*()'.gsub(/[-я]/ui, '')
# => "ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮйцукенгшщзхъфывапролджэячсмитьбю"

Буквы ё и Ё потерялись. Правильно так: /[-яё]/ui

'ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЁЯЧСМИТЬБЮйцукенгшщзхъфывапролджэёячсмитьбю1234567890=/!"№%:,.;()_+!@#$%^&*()'.gsub(/[-яё]/ui, '')
# => "ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЁЯЧСМИТЬБЮйцукенгшщзхъфывапролджэёячсмитьбю"

Написал undr ()

19 августа 2011 в 16:46

Оставьте комментарий