Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.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:RegExp土耳其字符问题_Javascript_Jquery_Html - Fatal编程技术网

Javascript:RegExp土耳其字符问题

Javascript:RegExp土耳其字符问题,javascript,jquery,html,Javascript,Jquery,Html,我正在研究javascript搜索功能RegExp是'\\b('+word+')\\b','ig'用于选择和获取位置设置的单词,但它只选择英语字符,不选择土耳其字符或任何字符 工作脚本: 不使用工作脚本: Javascript中的正则表达式不支持开箱即用的Unicode,这是您正在使用的土耳其语字符所必需的(尽管如此) 此外,非ASCII字符通常不支持边界规则(例如表达式中使用的\b标记),因此这也可能导致此问题。如果删除边界标记,以下使用的示例将按预期工作: 您可能还可以使用一个插件来添加一

我正在研究javascript搜索功能
RegExp
'\\b('+word+')\\b','ig'
用于选择和获取位置设置的单词,但它只选择英语字符,不选择土耳其字符或任何字符

工作脚本:

不使用工作脚本:


Javascript中的正则表达式不支持开箱即用的Unicode,这是您正在使用的土耳其语字符所必需的(尽管如此)

此外,非ASCII字符通常不支持边界规则(例如表达式中使用的
\b
标记),因此这也可能导致此问题。如果删除边界标记,以下使用的示例将按预期工作:

您可能还可以使用一个插件来添加一些对处理Unicode字符的支持


一个更好的选择可能是库,它似乎添加了这个缺失的功能,可能值得一试。

您需要将RegExp与
u
标记一起使用,但javascript不支持unicode正则表达式:(所以要解决这个问题,您应该重新定义
\b
\ba
意味着
[^\w]a
so表示土耳其语字符

[^\wışĞÜŞÖİ]
是关键

[^\wığüşöçĞÜŞÖÇİ](türkçe)[^\wığüşöçĞÜŞÖÇİ]
可以使用,但这一次在下面的中找不到任何
türkçe

türkçe dili destekliyorum
要解决此问题,可以添加
^
$

(?:^|[^\wığüşöçĞÜŞÖÇİ])(türkçe)(?:[^\wığüşöçĞÜŞÖÇİ]|$)
就这样

注意:此正则表达式将匹配上一个字符和下一个字符。因此您需要重新放置它们。
(^\wışşşĞşşşşşşşşşşĞşşşşşşôşşş354
并替换为
$1$2$3

注意:您也可以使用向后看和向前看,但不幸的是javascript不支持向后看

var-word='İpsum';
var rgx=新RegExp(“(^\wışşşşŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠ;
$('p,p*').contents().filter(函数()){
返回this.nodeType==3;
}).each(函数({
$(this.replaceWith($(this.text().replace(rgx,“$1$2$3”));
});
变量位置=$('.match').map(函数(){
返回此.getBoundingClientRect().top;
}).get();
div{
字体大小:50px;
}
span.匹配{
背景:金;
}

我的朋友们,我的朋友们,我的朋友们,我的朋友们,我的朋友们,我的朋友们,我的朋友们,我的朋友们,我的朋友们,我的朋友们,我的朋友们,我的朋友们,我的朋友们,我的朋友们,我的朋友们,我的朋友们,我的朋友们,我的朋友们


你能给我举一个关于XRegExp的例子吗?我个人对它不太熟悉,尽管看起来你可以添加字符集包,它会增加对匹配这些字符集的支持。但是,如果你注意到我更新的响应,那么真正的问题很可能是边界标记
\b
的使用,它不支持非ASCII字符,即您的土耳其语字符。谢谢,多根:)