使用JavaScript正则表达式找到所有`* .html`但不是`* .tmp.html`

时间:2017-01-30 12:22:05

标签: javascript regex webpack

我有一个包含许多*.html个文件和许多*.tpl.html个文件的大型项目。

我想使用一个正则表达式,允许我区分这两个用于我的Webpack配置。

我尝试使用懒惰来实现此目标,例如.*?\.html,但这也与*.tpl.html匹配。 https://regex101.com/r/a0fl4H/1

如何实现这一目标?

2 个答案:

答案 0 :(得分:3)

试试这个:

^(?!.*\.tpl).+\.html$

演示:

https://regex101.com/r/a0fl4H/8

答案 1 :(得分:0)

对于正则表达式,这应该这样做;

/.*?[^.tpl]\.html/

Working example

编辑:第一个解决方案需要改进。正如评论中所提到的,这将为test.t.html提供误报 - 因为它匹配任何给定的字符(.tpl)。

This is a working version使用;

^(?!.*\.tpl).*.html

bar.html // matches
bar.tpl.html // doesn't match
test.t.html // matches
test.p.html // matches
test.z.html // matches