28 октября 2013, 22:37

regexp для украинских слов (версия 4)

/([а-яґєії`´ʼ’ʼ’]+)/ui
ps: самое интересное в комментах

6 комментариев РСС

Gl?ck
Апостраф обычно в другую сторону закручивают.
http://ru.wikipedia.org/wiki/Апостроф
Vitaliy Bogdanets
done (мне попался в укр.тексте другой апостроф)
CTAPbIu_MABP
ҐЄ не буквы?
Vitaliy Bogdanets
done
Sainaen
Не удержусь.

1) {1,} это ведь то же самое что +, т. е. /([а-яА-Я\`ґєҐЄ´ІіЇї\s]+)/u.
2) можно использовать флаг i и избавиться от повторов: /([а-я\`ґє´ії\s]+)/ui
3) убрать \s, т. к. пробельных символов не может быть внутри слов: /([а-я\`ґє´ії]+)/ui
4) вроде как нет смысла экранировать гравис: /([а-яґєії`´]+)/ui
5) ни ´ (акут), ни ` (гравис), использованные regexp, технически апострофом не являются. нужно добавить
а) ʼ — собственно, апостроф; используется, например, в LibreOffice;
б) ’ — одинарная правая кавычка; используется в украинской раскладке большинства Linux дистрибутивов как апостроф;
в) ʼ — буква-модификатор апостроф; никогда не видел, но Википедия говорит, что используется;
г) ’ — однарная машинописная кавычка (для ленивых)

В результате: /([а-яґєії`´ʼ’ʼ’]+)/ui
CTAPbIu_MABP
еде один маленький ньюанс
множество а-я имеет в себе ёъэ которых нет в украинском
sainaen
CTAPbIu_MABP

Точно. Кстати, «ы» тоже входит.
А в каких реализациях «ё» входит в [а-я]? Вроде как, «я» — U+044F, а «ё» — U+0451.
CTAPbIu_MABP
ты прав

Ваш комментарий

адрес не будет опубликован

ХТМЛ не работает


Ctrl + Enter