2017-10-22 3 views
1

JavaScriptで文章をチェックしたいと思います。私はGoogleのポルトガル語(PT-BR)でWeb Speech APIを使用しています。だから、コードは次のとおりです。Regexを使って、 "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"; 
} 

[...] 

変数結果店舗例えばポルトガル語で話された文、のEu gostoデmúsicas(意味私はな音楽が好き)。次に、条件をチェックする必要がありますが、アクセントには効果がありません。

ところで、/fotos/gのようなアクセントのないものをチェックすれば、完璧に動作します!

これはおそらく簡単なRegexの問題を手伝ってもらえますか?

ありがとうございます。あなたがアクセント付き文字とそのUnicodeの同等のテーブルのためのhereを参照することができ

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

:JavaScriptの正規表現でアクセント母音と一致するように

+0

コードは正常に動作します。 – Optional

+0

ここに投稿する前にコードをテストしても気になりませんでしたか? –

+0

いいえ、私は以前これを試していましたが、うまくいきませんでした。変数の結果が単純な文字列ではなく、APIによってリアルタイムで使用される特定の文字列であり、あなたが示唆したようにUnicodeなしで動作しないためです。 "\ u00FA"を使って作業しました。とった? –

答えて

2

、我々はUnicodeの文字クラスを使用することができます。

他にも述べたように、純粋なJavaScriptではUnicodeクラスは必要ありませんが、これを必要とするアプリケーションがあるようです。

Demo

+1

これは必ずしも必要ではありません。 '/músicas/g.test("mitscasテキストを含んでいます)')はtrueを返します。 –

関連する問題