Javascript 使用正则表达式反转字符串中的元音

Javascript 使用正则表达式反转字符串中的元音,javascript,regex,Javascript,Regex,我正在研究一种算法,它接收字符串作为输入,并反转字符串的元音 “hello”应返回为“holle” “wookiE”应该以“wEikoo”的形式返回 str.replace可以用作解决方案吗 function reverseVowels(str) { return str.replace(/[aeiou]/-g, /[aeiou]+1/); } 我不确定replace函数的第二个参数是什么。我打算找到第一个元音,然后转到下一个元音,以替换为。是否可以仅使用此方法完成此操作,或者是否

我正在研究一种算法,它接收字符串作为输入,并反转字符串的元音

  • “hello”应返回为“holle”
  • “wookiE”应该以“wEikoo”的形式返回
str.replace
可以用作解决方案吗

function reverseVowels(str) {
    return str.replace(/[aeiou]/-g, /[aeiou]+1/);
}

我不确定
replace
函数的第二个参数是什么。我打算找到第一个元音,然后转到下一个元音,以替换为。是否可以仅使用此方法完成此操作,或者是否需要一个
forEach
/
for
循环?

您可以分两个阶段完成此操作:

  • 将元音提取到数组中
  • 对原始字符串执行替换,对每个匹配调用函数,并从堆栈中弹出最后一个元音以替换它
代码:

函数反转窗口(str){
var元音=str.match(/[aeiou]/g);
返回str.replace(/[aeiou]/g,()=>vouels.pop());
}
//范例
var original=‘詹姆斯·邦德’;
var结果=反向(原始);
//代码段的输出

console.log(原始+'=>'+结果)如果有三组元音怎么办?
foobairbeu
会变成
fuebiaboo
吗?检查这个python脚本,你可能会有一些想法:这比我使用的版本要简洁得多。