Неожиданный токен в действительном RegEx при запуске веб-пакета - PullRequest
0 голосов
/ 12 сентября 2018

Я определил следующее RegEx в файле util в приложенииact / redux:

Это работает нормально и не приводит к сбоям при компиляции, если я объявляю его как строку:

export const REGEX_VALID_URL =
  '^(https?://(www.)?)[a-z0-9]+([-.]{1}[a-z0-9]+)*.[a-z]{2,5}(:[0-9]{1,5})?(/.*)?$';

Однако, если я объявлю его как литерал регулярного выражения, например, так:

 export const VALID_URL =
      /^(https?://(www.)?)[a-z0-9]+([-.]{1}[a-z0-9]+)*.[a-z]{2,5}(:[0-9]{1,5})?(/.*)?$/;

Webpack не сможет скомпилироваться и отобразит эту ошибку: Ошибка сборки модуля: SyntaxError: Неожиданный токен (2:19)

  1 | export const VALID_URL =
> 2 |   /^(https?://(www.)?)[a-z0-9]+([-.]{1}[a-z0-9]+)*.[a-z]{2,5}(:[0-9]{1,5})?(/.*)?$/;
    |                    ^

В чем здесь проблема, и как мне получить веб-пакет, чтобы увидеть этот RegEx как Aok?

1 Ответ

0 голосов
/ 12 сентября 2018

Поскольку вы используете / в качестве разделителя, вам нужно будет экранировать все в регулярном выражении с помощью \

/^(https?:\/\/(www.)?)[a-z0-9]+([-.]{1}[a-z0-9]+)*.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?$/

Должно быть все, что тебе нужно.

...