Я хочу проверить предложение в JavaScript. Я использую API Web Speech на португальском языке (PT-BR) от Google. Поэтому код выглядит следующим образом:
[...]
// 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?
Спасибо.
Чтобы совместить акцентированные гласные в регулярном выражении JavaScript, мы можем использовать класс символов юникода:
if (/m[\u00FA]sicas/g.test(result) == true) {
document.getElementById("output").innerHTML = "Inside sentence";
}
Вы можете обратиться сюда за таблицей акцентированных символов и их эквивалентами Unicode.
Обратите внимание, что, как говорили другие, в чистом JavaScript вам не нужны классы Unicode, но, видимо, у вас есть приложение, которое требует этого.
/músicas/g.test("it contains músicas text")
возвращает true.