我创建了一个匹配.vue
组件的正则表达式。
它应匹配具有不以Async
结尾的基本名称的所有组件。因此,所有.vue
组件都应匹配,但文件名(不带扩展名)的组件除以Async
结尾。
所以这些不应该匹配
./deals/deal/countdown/CountdownWarningAsync.vue
./test/deal/countdown/SomeComponentAsync.vue
这些应该。
./deals/deal/countdown/AsyncCountdownWarning.vue
./deals/deal/countdown/SomeComponent.vue
./recenthotels/RecentHotels.vue
我知道如何在没有Async
部分的情况下捕获它,但如何检查以Async
结尾的基本名称不?
答案 0 :(得分:0)
JS不支持lookbehinds或说实话,它在Google Chrome的V8引擎上有一个不成熟的实现,但其他主流浏览器还没有这样做。
使用否定前瞻:
\/[A-Z](?!\w*Async\.vue$)\w+\.vue$
正则表达式细分:
\/[A-Z]
匹配/
和大写字母(?!
开始否定前瞻
\w*
匹配以下字母Async\.vue$
直到此)
前瞻结束\w+
匹配单词字符\.vue$
最多.vue
分机答案 1 :(得分:0)
答案 2 :(得分:-1)