我已经在react / redux应用程序的util文件中定义了以下RegEx:
这很好,并且如果我将其声明为字符串,则不会导致任何编译失败:
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})?(/.*)?$/;
| ^
这里的问题是什么,如何获取webpack将此RegEx视为Aok?
答案 0 :(得分:3)
由于您使用/作为分隔符,因此您需要使用\
对正则表达式中的任何内容进行转义。/^(https?:\/\/(www.)?)[a-z0-9]+([-.]{1}[a-z0-9]+)*.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?$/
应该是您所需要的全部。