RegEx for ukrainian letters. How to separate cyrillic words by capital letter?
javascript, regex, string
Solution
`[А-Я]` is not Cyrillic alphabet, it's just Russian!
Cyrillic is a writing system. It used in alphabets for many languages. (Like Latin: charset for West European languages, East European &c.)
To have both Russian and Ukrainian you'd get `[А-ЯҐЄІЇ]`.
To add Belarisian: `[А-ЯҐЄІЇЎ]`
And for all Cyrillic chars (including Balcanian languages and Old Cyrillic), you can get it through Unicode subset class, like: `\p{IsCyrillic}`
To deal with Ukrainian separately:
`[А-ЩЬЮЯҐЄІЇ]` or `[А-ЩЬЮЯҐЄІЇа-щьюяґєії]` seems to be full Ukrainian alphabet of 33 letters in each case.
Apostrophe is not a letter, but occasionally included in alphabet, because it has an impact to the next vowel. Apostrophe is a part of the words, not divider. It may be displayed in a few ways:
27 "'" APOSTROPHE
60 "`" GRAVE ACCENT
2019 "’" RIGHT SINGLE QUOTATION MARK
2bc "ʼ" MODIFIER LETTER APOSTROPHE
and maybe some more.
Yes, it's a bit complicated with apostrophe. There is no common standard for it.
Problem
I have a String with some cyrillic words inside. Each starts with a capital letter. ``` var str = 'ХєлпМіПліз'; ``` I have found this solution `str.match(/[А-Я][а-я]+/g)`. But it returns me `["Пл"]` insted of `["Хєлп", "Мі", "Пліз"]`. Seems like it doesn't recognize ukrainian letters('і', 'є'), only russian. So, How do I have to change that regex to include ukrainian letters?