2017-10-22 50 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。 –

相關問題