使用正则表达式的Babel意外令牌

时间:2017-09-26 13:57:58

标签: javascript regex webpack ecmascript-6 babeljs

每当我在我的正则表达式中使用抑扬符(^)时,babel将无法编译。我的正则表达式的一个例子:

lastPage.replace(/https?://[^/]+/g, '');

这里出了什么问题?我的代码编辑器似乎也为旋风掀起了一面红旗。我需要逃避它吗?

在使用Webpack的手表时我的终端:

  

语法错误:意外的令牌(190:56)

指向我的^字符。

1 个答案:

答案 0 :(得分:1)

你需要在正则表达式中转义/,否则表示正则表达式模式的结束。在结束斜杠后,只能放置regex flags

lastPage.replace(/https?:\/\/[^/]+/g, '');

// or
lastPage.replace(/https?:\/\/[^\/]+/g, '');

FYI:在字符(或否定字符)类中,无需转义/