javascript - 运行 webpack 时有效正则表达式中出现意外标记

标签 javascript reactjs webpack babeljs

我在react/redux应用程序的util文件中定义了以下正则表达式:

这工作正常,如果我将其声明为字符串,不会导致任何编译失败:

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 将无法编译,并显示以下错误: 模块构建失败:语法错误:意外的标记 (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})?(/.*)?$/;
    |                    ^

这里有什么问题,如何让 webpack 将此 RegEx 视为 Aok?

最佳答案

因为您使用/作为分隔符,所以您需要使用\转义正则表达式中的任何内容

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

应该是您所需要的。

关于javascript - 运行 webpack 时有效正则表达式中出现意外标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52298418/

相关文章:

reactjs - TypeError : Cannot add property __gsap, 对象不可扩展(Gatsby + GSAP)

javascript - webpack css-loader localIdent 名称哈希长度

javascript - React - Axios promise 未定义的未决值

javascript - 如何使用 Javascript 在 iframe 中设置 src

javascript - 如何删除 <li> 元素单击 java 脚本中的 <i> 元素?

javascript - 将字符颜色从一个设置为另一个

reactjs - Excel JS 加载项 - 共享运行时不起作用

javascript - react : How to display a modal popup only for that specific div

Webpack 找不到模块 'loader-utils'?

javascript - 是否可以创建一个 Chrome 扩展程序来执行属于正在浏览的页面的 javascript 函数?