Почему js не видит regex?

Ссылка скопирована
1 ответ

У меня есть программа связанная с регурками, она проверяет логи и при совпадении строки далее обрабатывает таковую.
Сейчас пишу к ней дополнение что бы регулярным выражением более точно отсеивать нужные мне результаты, но регулярка почему то думает что я сделал что то неправильно и не пропускает строку хотя в генераторах регулярных выражений она проходит.
Вот код:

var msg = 'AnilVia (МиГ-29) разбился' var regex_sk = new RegExp(N_conf+" ("+TX_V2+") разбился"); last_reg_sk = regex_sk.exec(msg);

var msg = 'AnilVia (МиГ-29) разбился' var regex_sk = new RegExp(N_conf+" ("+TX_V2+") разбился"); last_reg_sk = regex_sk.exec(msg);

пробовал писать следующие регулярки:

НИК+" ("+ТЕХНИКА+") разбился" НИК+"  ("+ТЕХНИКА+") разбился" НИК+" s("+ТЕХНИКА+") разбился"

НИК+" ("+ТЕХНИКА+") разбился" НИК+" ("+ТЕХНИКА+") разбился" НИК+" s("+ТЕХНИКА+") разбился"

Всё бы ничего, но у меня есть подобная регулярка которая работает (N_conf+"(.*) разбился") и с ней всё нормально, но как только я пытаюсь указать что конкретное в скобках, регулярное выражение перестаёт пропускать мою строку не смотря на то что все генераторы регулярок говорят что всё норм.

Дополнительно:

Вместо надо писать \, если регулярка в виде строки

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Дмитрий К. Ответ

Проблема, когда JavaScript не видит регулярное выражение (regex), может быть вызвана несколькими причинами. Вот несколько возможных причин и способы их решения:

1. Неправильное использование обратных слэшей: При использовании регулярных выражений в JavaScript необходимо учитывать, что обратные слэши (\) имеют специальное значение и могут быть интерпретированы неправильно. Чтобы избежать этой проблемы, рекомендуется использовать двойные обратные слэши (\\) или сделать строку регулярного выражения с префиксом 'raw'.

2. Отсутствие флага g (глобальный поиск): Если вы пытаетесь использовать регулярное выражение для поиска всех вхождений в строку, убедитесь, что у вас есть флаг 'g' после шаблона регулярного выражения.

3. Ошибки в самом регулярном выражении: Проверьте, правильно ли вы написали шаблон регулярного выражения. Проверьте синтаксис и убедитесь, что он соответствует вашим ожиданиям.

Пример использования регулярного выражения в JavaScript:

const str = 'Hello, World!';
const regex = /Hello/;
const result = str.match(regex);
console.log(result);

const str = 'Hello, World!'; const regex = /Hello/; const result = str.match(regex); console.log(result);

Если после проверки вы обнаружите, что проблема все еще остается, попробуйте следующие шаги:

4. Проверьте, не блокирует ли что-то выполнение JavaScript-кода, например, другие скрипты или ошибки в самом коде.

5. Попробуйте использовать отладчик браузера, чтобы проверить, что происходит с вашим кодом во время выполнения.

Надеюсь, что эти советы помогут вам решить проблему с тем, что JavaScript не видит регулярное выражение. Если у вас остались вопросы, не стесняйтесь задавать их.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно