2017-09-26 83 views
-1

每当我在我的正则表达式中使用一个回旋(^)时,babel将无法编译。我的正则表达式示例:巴贝尔意外的令牌与正则表达式

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

这里发生了什么问题?我的代码编辑器似乎也正在为这个旋转曲线投下红旗。我需要逃避它还是什么?

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

Syntax Error: Unexpected token (190:56)

指向我的^字符。

+0

越过斜线。 –

+0

试过,就像这样:'.replace(/ https?:\/\/[^ /] + /,'');'但这没关系。 –

+0

所有斜杠。 –

回答

1

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

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

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

FYI:内的字符(或否定字符)类,没有必要逃避/

+0

这个问题只是一个简单的语法错误/错字,应该像这样关闭。 –

+0

实际上它不会用'[^ ​​\ /]'进行编译,它会用'[^ ​​/]'进行编译,其余的正则表达式都会被转义。所以这不仅仅是一个语法问题。 –

+0

@ Stephan-v我已经向你证明它确实可以工作。您的代码中有其他内容会导致错误,或者您有某种奇怪的实验性插件。 –