Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript中使用西里尔文(俄语)集的正则表达式_Javascript_Regex - Fatal编程技术网

javascript中使用西里尔文(俄语)集的正则表达式

javascript中使用西里尔文(俄语)集的正则表达式,javascript,regex,Javascript,Regex,可以在javascript的正则表达式中使用俄语字符吗? 可能是使用了\p{Cyrillic} 如果是,请提供基本用法示例 例如: var str1 = "абв прв фву"; var regexp = new RegExp("[вф]\\b", "g"); alert(str1.replace(regexp, "X")); 我希望得到:ббXППбX如果您只是将JavaScript文件保存在UTF8中,它应该可以工作。然后您应该能够在字符串中输入任何字符 编辑: 刚刚用维基百科中的

可以在javascript的正则表达式中使用俄语字符吗?
可能是使用了\p{Cyrillic}

如果是,请提供基本用法示例

例如:

var str1 = "абв прв фву";
var regexp = new RegExp("[вф]\\b", "g");

 alert(str1.replace(regexp, "X"));

我希望得到:ббXППбX

如果您只是将JavaScript文件保存在UTF8中,它应该可以工作。然后您应该能够在字符串中输入任何字符

编辑: 刚刚用维基百科中的一些典型人物做了一个简单的例子:

var cryllic = 'абвгдеёжзийклмнопрстуфхцчшщъыьэюяабвгдеёжзийклмнопрстуфхцчшщъыьэюя';
cryllic.match( 'л.+а' )[0];
// returns as expected: "лмнопрстуфхцчшщъыьэюяа"
根据:

JavaScript,它不提供任何 通过其RegExp支持Unicode 类,是否支持\uFFFF 匹配单个Unicode代码点 作为其字符串语法的一部分

因此,您至少可以使用代码点,但似乎仅此而已(没有类)


另外,请检查您的问题。

这里有一篇关于的好文章。JavaScript中的字符串是16位的,因此字符串和RegExp对象可以包含unicode字符,但大多数特殊字符(如“\b”、“d”、“w”)只支持ascii。因此,由于使用了“\b”,正则表达式无法按预期工作。似乎您必须找到一种不同的方法来检测单词边界。

但如果我尝试这样做:var str1=“бббб”;var regexp=新的regexp(“[бб]\_b”,“g”);警报(str1.replace(regexp,“e”);它不工作。你的文件是100%UTF-8编码的吗?您能用一个字符试试吗?单词boundary
\b
似乎工作不正常。如果我删除它,它会正常工作,所以请尝试用
[]
或类似的东西替换它。我需要知道正确的“类似的东西”。这是一个简单的例子,我需要使用更复杂的正则表达式模式,并且需要使用这些标记。那个站点是不正确的。JavaScript在regexps中支持Unicode。我在上面引用的单个代码点的比较中找不到任何参考,例如,你有源代码吗?