Используя Regex, как я могу получить слова «músicas» или «áudio» в предложении?

1

Я хочу проверить предложение в 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?

Спасибо.

  • 0
    Ваш код работает нормально.
  • 0
    Вы удосужились даже проверить свой код перед публикацией здесь?
Показать ещё 2 комментария
Теги:

1 ответ

2
Лучший ответ

Чтобы совместить акцентированные гласные в регулярном выражении JavaScript, мы можем использовать класс символов юникода:

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

Вы можете обратиться сюда за таблицей акцентированных символов и их эквивалентами Unicode.

Обратите внимание, что, как говорили другие, в чистом JavaScript вам не нужны классы Unicode, но, видимо, у вас есть приложение, которое требует этого.

демонстрация

  • 1
    Это не совсем обязательно. /músicas/g.test("it contains músicas text") возвращает true.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню