Почему JS матчит обратный апостроф в регулярке?
Имеется следующая регулярка:
/^[A-Яа-яёЁ]+[A-Яа-яёЁ\s\-'\d]+[A-Яа-яёЁ\-'\d]$/i
При проверке ее в консоли devtools (Google Chrome) - "матчится" строка с обратным апострофом (который на клавише с буквой "ё")
Вот код:
let str = 'тест`ТЕСТ 123-45-54 654'
let regexp = /^[A-Яа-яёЁ]+[A-Яа-яёЁ\s\-'\d]+[A-Яа-яёЁ\-'\d]$/i
console.log( str.match(regexp) );
В сайтах-"песочницах" для проверки регулярок все нормально, эта строка не матчится.
Почему JS выдает совпадение с указанной строкой, если в регулярке не указан символ обратного апострофа? Как исправить это поведение?
Ответы (1 шт):
Автор решения: Drovosek
→ Ссылка
Помогли на другом ресурсе. Оказалось, что в регулярке буква "А" - латинская и, соответственно между латинской "A" и русской "Я" помещалось много других символов.