鍍金池/ 問答/Java  網(wǎng)絡(luò)安全  HTML/ webpack編譯vue正則表達(dá)式無法正常編譯通過

webpack編譯vue正則表達(dá)式無法正常編譯通過

vue中使用如下正則表達(dá)式:

   returnmsg.replace(/(?<!mark)>/g,'&gt;');

編譯時提示如下錯誤內(nèi)容:

ERROR in ./~/babel-loader/lib!./~/vue-loader/lib/selector.js?type=script&index=0!./src/components/business-modules/workbench/message-list.vue
Module parse failed: E:\Projects\ui\node_modules\babel-loader\lib\index.js!E:\Projects\ui\node_modules\vue-loader\lib\selector.js?type=script&index=0!E:\Projects\ui\src\components\business-modules\workbench\message-list.vue Error parsing regular expression: Invalid regular expression: /(?<!mark)>/: Invalid group (528:37)
You may need an appropriate loader to handle this file type.
|       returnmsg = returnmsg.replace(/(?<!mark)>/g, '&gt;');
|       return returnmsg;
|     }
 @ ./src/components/business-modules/workbench/message-list.vue 8:2-115
 @ ./~/babel-loader/lib!./~/vue-loader/lib/selector.js?type=script&index=0!./src/components/business-modules/workbench/home.vue
 @ ./src/components/business-modules/workbench/home.vue
 @ ./src/router/route.js
 @ ./src/router/index.js
 @ ./src/main.js
 @ multi ./build/dev-client ./src/main.js

麻煩vue大神幫忙看一下如何支持正則表達(dá)式的反向否定預(yù)查,謝謝。

回答
編輯回答
爛人

呃,后行斷言是新特性,需要瀏覽器支持才可以,按規(guī)范是ES2018才引入的,所以babel編譯時,目標(biāo)es版本需要正確。
接自阮一峰es6一書

JavaScript 語言的正則表達(dá)式,只支持先行斷言(lookahead)和先行否定斷言(negative lookahead),不支持后行斷言(lookbehind)和后行否定斷言(negative lookbehind)。ES2018 引入后行斷言,V8 引擎 4.9 版(Chrome 62)已經(jīng)支持。
2017年9月20日 02:57