Javascript 使用正则表达式,我如何获得单词“quot;mú;sicas“;或á;“udio”;一句话?

Javascript 使用正则表达式,我如何获得单词“quot;mú;sicas“;或á;“udio”;一句话?,javascript,regex,Javascript,Regex,我想用JavaScript检查一个句子。我正在使用谷歌的葡萄牙语网络语音API(PT-BR)。因此,代码如下: [...] // Writes the spoken sentence on a field document.getElementById('text').innerHTML = result; // Should check whether "músicas" is in sentence or not if (/músicas/g.test(result) == true)

我想用JavaScript检查一个句子。我正在使用谷歌的葡萄牙语网络语音API(PT-BR)。因此,代码如下:

[...]

// Writes the spoken sentence on a field
document.getElementById('text').innerHTML = result;

// Should check whether "músicas" is in sentence or not
if (/músicas/g.test(result) == true)
{
  document.getElementById("output").innerHTML = "Inside sentence";
}
else
{
  document.getElementById("output").innerHTML = "Not inside sentence";
}

[...]
变量result存储葡萄牙语的口语句子,例如,Eu gosto de músicas(意思是我喜欢音乐)。然后,条件应该检查,但它不适用于重音

顺便说一句,如果我检查一些没有重读的东西,比如/fotos/g,它工作得很好

有人能帮我解决这个可能很简单的正则表达式问题吗


谢谢。

要匹配JavaScript正则表达式中的重音元音,我们可以使用unicode字符类:

if (/m[\u00FA]sicas/g.test(result) == true) {
    document.getElementById("output").innerHTML = "Inside sentence";
}
您可以参考重音字符表及其Unicode等价物

请注意,正如其他人所提到的,在纯JavaScript中,您不需要Unicode类,但显然您有一个应用程序需要这样做。

这并不是必须的
/músicas/g.test(“它包含músicas文本”)
返回true。您的代码运行良好。在发布到此处之前,您是否费心测试您的代码?没有。我以前已经尝试过,但没有工作。问题在于,变量result不是一个简单的字符串,它是API实时使用的一个特定字符串,如果没有unicode,它就不能像您建议的那样工作。仅使用“\u00FA”工作。明白了吗?谢谢Biegeleisen先生。