2017-08-08 51 views
2

我想匹配以./开始单行字符串结尾,不包含main.js.vue的Javascript正则表达式:匹配字符串开头的X,不包括Y,用A或B

做到底应该比赛:

./test.js 
./component.vue 

如果不匹配:

./main.js 
./data.json 

我试图用一个超前这样的:

/^\.\/(?!main)(\.js|\.vue)$/ 

但是不返回任何上述字符串。

+1

就快,你只需要匹配'。/'和'.js'或'.vue'之间的字符串。试试'^ \。\ /(?!。*?main)。*?(\。js | \ .vue)$' – Gawil

回答

3

你可以使用这个表达式:

^\.\/(?!.*main).*\.(?:js|vue)$ 

RegEx Demo

正则表达式破碎:

  • ^:启动
  • \.\/:在启动
  • 0123匹配
  • (?!.*main):负先行断言,我们没有在任何地方main
  • .*\.(?:js|vue):匹配以.js.vue
  • $结尾的任意字符串:结束
相关问题