【发布时间】:2017-04-17 21:07:18
【问题描述】:
例如,匹配所有包含符号ь的西里尔字母
【问题讨论】:
-
使用XRegExp。
标签: javascript regex
例如,匹配所有包含符号ь的西里尔字母
【问题讨论】:
标签: javascript regex
一种可能的方法是拆分句子以分别获取每个单词,然后使用Array#filter 过滤掉包含指定字符的每个单词,在本例中为ь。
var str = 'something else herь',
res = str.split(' ').filter(v => v.indexOf('ь') > -1);
console.log(res);
【讨论】:
herь 在俄语中看起来非常有趣:)
День,который запомнят все. - 您的解决方案将返回 2 个单词 День,который 作为一个条目。
День,который запомнят все. 实际上标点符号不正确(逗号后应该有一个空格)。你是说白痴规则吗?
如果您只需要西里尔字母,则必须使用
空白边界的。
单词边界将是一个非常大的正则表达式。
请记住,西里尔文可以穿插拉丁文,所以我想它没有实际意义。
这将为您提供带有西里尔文字的U+00044C ь CYRILLIC SMALL LETTER SOFT SIGN
/(?:\s|^)[\u0400-\u0484\u0487-\u052F\u1C80-\u1C88\u1D2B\u1D78\u2DE0-\u2DFF\uA640-\uA69F\uFE2E-\uFE2F]*\u044c[\u0400-\u0484\u0487-\u052F\u1C80-\u1C88\u1D2B\u1D78\u2DE0-\u2DFF\uA640-\uA69F\uFE2E-\uFE2F]*(?!S)/
展开
(?: \s | ^ )
[\u0400-\u0484\u0487-\u052F\u1C80-\u1C88\u1D2B\u1D78\u2DE0-\u2DFF\uA640-\uA69F\uFE2E-\uFE2F]*
\u044c
[\u0400-\u0484\u0487-\u052F\u1C80-\u1C88\u1D2B\u1D78\u2DE0-\u2DFF\uA640-\uA69F\uFE2E-\uFE2F]*
(?! S )
【讨论】: