我有一个字符串,里面有一些西里尔字母。每个都以大写字母开头。
var str = 'ХєлпМіПліз';
我找到了这个解决方案str.match(/[А-Я][а-я]+/g)
.
但它让我回归["Пл"]
代替["Хєлп", "Мі", "Пліз"]
。似乎它不能识别乌克兰字母(“і”,“є”),只能识别俄语。
那么,我该如何更改该正则表达式以包含乌克兰字母?
[А-Я]
不是西里尔字母,它只是俄语!
西里尔字母是一种书写系统。它用于多种语言的字母表中。
(如拉丁语:西欧语言、东欧语言等的字符集。)
要同时拥有俄语和乌克兰语,你会得到[А-ЯҐЄІЇ]
.
添加贝拉里语:[А-ЯҐЄІЇЎ]
对于所有西里尔字母(包括巴尔干语和古西里尔字母),您可以通过 Unicode 子集类获取它,例如:\p{IsCyrillic}
To deal with Ukrainian separately:
[А-ЩЬЮЯҐЄІЇ]
or [А-ЩЬЮЯҐЄІЇа-щьюяґєії]
似乎是完整的乌克兰字母表,每个字母都有 33 个字母。
撇号不是字母,但偶尔会包含在字母表中,因为它会影响下一个元音。
撇号是单词的一部分,而不是分隔符。它可以通过以下几种方式显示:
27 "'" APOSTROPHE
60 "`" GRAVE ACCENT
2019 "’" RIGHT SINGLE QUOTATION MARK
2bc "ʼ" MODIFIER LETTER APOSTROPHE
也许还有更多。
是的,撇号有点复杂。它没有共同的标准。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)