У меня есть проблема, которая сводит меня с ума. Все остальные регулярные выражения работают, но они «перестают» работать, если в них есть буква.
Строка выглядит следующим образом:
مسلسل The Outsider 2020 الموسم الاول الحلقة 8 مترجمة
Я хочу получить число «8». Текст можно понимать как «Серия x Сезон y Эпизод НОМЕР». Я пытаюсь получить число, используя следующее регулярное выражение:
/(?<=.*الحلقة.*)[0-9]+(?=.*)/g
Он работает нормально, применяя его здесь https://regexr.com/ ИЛИ на консоли. Я реализую это в файле Popup. js.
Следующее регулярное выражение работает без проблем
/(?<=title=")(.*?)(?=")/
Мой JS код для получения регулярного выражения:
let episodeNumber = item.match(/(?<=title=")(.*?)(?=")/)[0];
console.log("t: " + episodeNumber);
episodeNumber = episodeNumber.match(/(?<=.*الحلقة.*)[0-9]+(?=.*)/g);
console.log(episodeNumber);
Первый журнал дает мне результат ( текст выше) Второй лог дает ноль в консоли. Это действительно странно.
Если регулярное выражение не отформатировано должным образом, замените «الحلقة» на «Эпизод». Это на арабском c, поэтому при форматировании это будет выглядеть странно.