Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.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_Non Ascii Characters - Fatal编程技术网

正则表达式和Javascript:查找带有重音的单词

正则表达式和Javascript:查找带有重音的单词,javascript,regex,non-ascii-characters,Javascript,Regex,Non Ascii Characters,我试图找到并储存所有单词的HTML段落 实际上,我有一个这样的函数 p.html(function(index, oldHtml) { return oldHtml.replace(/\b(\w+?)\b/g, '<span>$1</span>'); }); p.html(函数(索引,oldHtml){ 返回oldHtml.replace(/\b(\w+?)\b/g,$1'); }); 但这是唯一没有口音的返回词。 我在regex101.com上测试 有什么想法吗?

我试图找到并储存所有单词的HTML段落

实际上,我有一个这样的函数

p.html(function(index, oldHtml) {
return oldHtml.replace(/\b(\w+?)\b/g, '<span>$1</span>');
});
p.html(函数(索引,oldHtml){
返回oldHtml.replace(/\b(\w+?)\b/g,$1');
});
但这是唯一没有口音的返回词。 我在regex101.com上测试

有什么想法吗?

使用字符类:

oldHtml.replace(/([\wàâêëéèîïôûùüç]+)/gi, '<span>$1</span>');
oldHtml.replace(/([\wëëëëëëëëëëëëëëë235;
试一试:

var oldHtml = 'kjh À ùp géçhj ùù Çfg';
var res = oldHtml.replace(/([\wàâêëéèîïôûùüç]+)/gi, '<span>$1</span>');
var oldHtml='kjhÀùp gçhjùùùfg';
var res=oldHtml.replace(/([\wëëëëëëëëëëëëëëë23;
给予

"<span>kjh</span> <span>À</span> <span>ùp</span> <span>géçhj</span> <span>ùù</span> 
“kjhÀùp gçhjù
Çfg“

使用字符类:

oldHtml.replace(/([\wàâêëéèîïôûùüç]+)/gi, '<span>$1</span>');
oldHtml.replace(/([\wëëëëëëëëëëëëëëë235;
试一试:

var oldHtml = 'kjh À ùp géçhj ùù Çfg';
var res = oldHtml.replace(/([\wàâêëéèîïôûùüç]+)/gi, '<span>$1</span>');
var oldHtml='kjhÀùp gçhjùùùfg';
var res=oldHtml.replace(/([\wëëëëëëëëëëëëëëë23;
给予

"<span>kjh</span> <span>À</span> <span>ùp</span> <span>géçhj</span> <span>ùù</span> 
“kjhÀùp gçhjù

ߍfg“

您需要使用unicodes。您需要只查找包含重音的单词,还是查找所有单词?请注意,问题的一部分是
\w
无法将重音字符识别为“单词”字符,另一部分是
\b
内部使用
\w
的定义来扫描单词边界。因此,即使将
é
ç
添加到具有
\w
的类中,也不能解决所有问题。@Jongware我需要查找所有单词。您需要使用Unicode。您需要只查找包含重音的单词,还是查找所有单词?请注意,问题的一部分是
\w
无法将重音字符识别为“单词”字符,另一部分是
\b
内部使用
\w
的定义来扫描单词边界。因此,即使是将
é
ç
添加到具有
\w
的类中,也不能解决所有问题。@Jongware我需要找到所有单词。真奇怪——但感谢您的澄清!我假设
I
不会“忽略大小写”,因为JS的正则表达式不支持重音字符。我想它在下面使用了general
toLowerCase()
。。。正则表达式很复杂:-)@jcbaudot:不客气,很高兴它能帮上忙。真奇怪——不过谢谢你的澄清!我假设
I
不会“忽略大小写”,因为JS的正则表达式不支持重音字符。我想它在下面使用了general
toLowerCase()
。。。正则表达式很复杂:-)@jcbaudot:不用客气,很高兴它能帮上忙。