webpack编译vue正则表达式无法正常编译通过

发布于 2022-09-06 12:23:30 字数 1204 浏览 27 评论 0

vue中使用如下正则表达式:

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

编译时提示如下错误内容:

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大神帮忙看一下如何支持正则表达式的反向否定预查,谢谢。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

秋日私语 2022-09-13 12:23:30

呃,后行断言是新特性,需要浏览器支持才可以,按规范是ES2018才引入的,所以babel编译时,目标es版本需要正确。
接自阮一峰es6一书

JavaScript 语言的正则表达式,只支持先行断言(lookahead)和先行否定断言(negative lookahead),不支持后行断言(lookbehind)和后行否定断言(negative lookbehind)。ES2018 引入后行断言,V8 引擎 4.9 版(Chrome 62)已经支持。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文