如何在没有积极前瞻性的情况下重写正则表达式?

问题描述

由于正向预测 (export default { data() { return { loading: false,} },} ),Rust 的regex create 不支持正则表达式 import myMixin from './clienteMixin.js' Vue.mixin(myMixin); const app = new Vue({ delimiters: ['[[',']]'],el: '#app',components:{},data() { return { } },methods: { },mounted () { } });

[^a-z0-9%*][a-z0-9%]{3,}(?=[^a-z0-9%*])

重写它或使其工作的最佳方法是什么?

我找到了 fancy-regex crate,但我想避免仅针对一个缺少的功能使用两个板条箱(或者更喜欢使用认值)。

附注。这里至少有一个预期匹配 example

解决方法

将您当前的匹配模式放入一个捕获组,并匹配(但不捕获)当前在前瞻中的术语:

([^a-z0-9%*][a-z0-9%]{3,})(?:[^a-z0-9%*]|$)