Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/386.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 - Fatal编程技术网

在JavaScript中创建不区分重音的RegExp

在JavaScript中创建不区分重音的RegExp,javascript,Javascript,我对JavaScript中的RegExp有点担心。我想制作一个对重音不敏感的RegExp 例如,如果我这样做: var str = 'césar'; var i = New Regexp (str, 'desired parameter, similar to <i> for example').exec('cesar'); console.log(i) // césar or cesar should print var str='césar'; var i=New Re

我对JavaScript中的RegExp有点担心。我想制作一个对重音不敏感的RegExp

例如,如果我这样做:

var str = 'césar'; 

var i = New Regexp (str, 'desired parameter, similar to <i> for example').exec('cesar'); 

console.log(i) // césar or cesar should print
var str='césar';
var i=New Regexp(str,‘所需参数,类似于示例’).exec('cesar');
console.log(i)//césar或cesar应该打印

是否存在类似的情况?

没有可以传递的RegExp参数来改变重音符号的处理方式。您需要做的是建立一个字符矩阵,这些字符应该相互替换,然后从这些替换字符构造一个RegExp模式

const e=[“È”、“Ê”、“Ë”、“è”、“è”、“è”],
a=[‘a’、‘a’、‘å’、‘æ’、‘À’、‘Á’、‘Ã’、‘Ä’、‘Å’、‘Æ’]
常数替换={
e、 e:e,a,a:a
}
var str='Cesar';
const pattern=Array.from(str).map(c=>substitutions[c]?`[${c}${substitutions[c].join(“”)}]`:c.join(“”)
console.log(模式)
var i=新的RegExp(模式,“gi”).exec('césar');

console.log(i)
我认为问题略有不同。在这种情况下,我们有一个已知的单词,其中一个字母可能被另一个带有变音符号的字母所取代。标记为重复的问题用于允许字符范围仍然匹配。