2017-10-22 32 views
1

我想在JavaScript中检查一个句子。我正在使用Google的葡萄牙语网络语音API(PT-BR)。所以,代码如下:使用正则表达式,我怎样才能得到一个句子中的“músicas”或“áudio”?

[...] 

// 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"; 
} 

[...] 

变量结果专卖店在葡萄牙语说出的句子,例如铕GOSTO德músicas(这意味着我喜欢的音乐)。然后,条件应该检查​​,但它不适用于强调。顺便说一句,如果我检查一些没有加重的东西,比如/fotos/g,它完美的工作!

任何人都可以帮助我解决这个可能很简单的正则表达式问题吗?

谢谢。

+0

您的代码正常工作。 – Optional

+0

在发布之前,你是否打算测试你的代码? –

+0

不,我之前已经尝试过,并没有工作。这是因为变量结果不是一个简单的字符串,它是API实时使用的特定字符串,并且在没有unicode的情况下不能正常工作。仅使用“\ u00FA”工作。得到它了? –

回答

2

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

if (/m[\u00FA]sicas/g.test(result) == true) { 
    document.getElementById("output").innerHTML = "Inside sentence"; 
} 

您可以参考here的重音字符和它们的Unicode等价的表。

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

Demo

+1

这不是完全必需的。 '/músicas/g.test("it包含músicas文本“)'返回true。 –

相关问题