【问题标题】:how to make regular expression match only Cyrillic bulgarian letters如何使正则表达式仅匹配西里尔保加利亚字母
【发布时间】:2013-01-17 13:12:17
【问题描述】:

你好我想用空字符串替换所有bylgarian字母表中的字母 我看过这个链接 How to match Cyrillic characters with a regular expression 但它对我不起作用

这是我尝试过的

1. var newstr = strInput.replace(/[\p{IsCyrillic}]/gi, '');

没用!

2. var newstr = strInput.replace(/[\p{Letter}]/gi, '');

也没什么 感谢您的帮助;

【问题讨论】:

    标签: javascript regex


    【解决方案1】:

    Javascript 不支持 \p{IsCyrillic} 形式的 Unicode 类。

    但是,假设您要替换的字符在 Unicode Cyrillic 范围 0400 - 04FF 中,您可以使用:

    newstr = strInput.replace( /[\u0400-\u04FF]/gi, '' ); 
    

    例如:

        var strInput = 'уфхцчшщъhelloЁЂЃЄрстыьэю',
            newstr = strInput.replace( /[\u0400-\u04FF]/gi, '' ); 
    
        console.log( newstr );    //  'hello'
    

    【讨论】:

    • 感谢它有效!你知道一个函数可以获取所有特殊字符#@ +-+>等等。
    【解决方案2】:

    我认为 JavaScript RegEx 不支持这种语法。

    这会有所帮助吗?

    XRegExp

    【讨论】:

      【解决方案3】:

      另一种方式:

      Pattern.compile("[А-я]+", Pattern.UNICODE_CHARACTER_CLASS).matcher(strInput ).replaceAll("") ;
      

      [А-я]+ 是您的字母表。

      【讨论】:

        猜你喜欢
        • 2010-12-15
        • 2013-03-29
        • 1970-01-01
        • 2011-04-06
        • 2011-08-29
        • 1970-01-01
        • 2023-03-06
        • 1970-01-01
        相关资源
        最近更新 更多