Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用JavaScript正则表达式查找所有`*.html`,但不查找`*.tmp.html`_Javascript_Regex_Webpack - Fatal编程技术网

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

使用JavaScript正则表达式查找所有`*.html`,但不查找`*.tmp.html`,javascript,regex,webpack,Javascript,Regex,Webpack,我有一个大型项目,其中有许多*.html文件和许多*.tpl.html文件 我想使用一个正则表达式来区分我的网页配置中的这两个 我尝试过用懒惰来实现这一点,比如*?\.html,但这也与*.tpl.html相匹配 如何做到这一点?对于regex,这应该可以做到 /.*?[^.tpl]\.html/ 编辑:第一个解决方案需要改进。如注释中所述,这将为test.t.html-提供误报,因为它匹配任何给定字符(.tpl) 使用 ^(?。*\.tpl.*.html bar.html // matche

我有一个大型项目,其中有许多
*.html
文件和许多
*.tpl.html
文件

我想使用一个正则表达式来区分我的网页配置中的这两个

我尝试过用懒惰来实现这一点,比如
*?\.html
,但这也与
*.tpl.html
相匹配


如何做到这一点?

对于regex,这应该可以做到

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

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

使用

^(?。*\.tpl.*.html

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

对于regex,这应该可以做到

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

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

使用

^(?。*\.tpl.*.html

bar.html // matches
bar.tpl.html // doesn't match
test.t.html // matches
test.p.html // matches
test.z.html // matches
试试这个:

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

试试这个:

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



负向后看。如果您使用负查找,这可能会很有帮助。请确保在regex101上选择regexversion2。是否查找类似的内容?如果你放“!*”怎么办。html的负面查找。如果您使用负查找,这可能会很有帮助。请确保在regex101上选择regexversion2。是否查找类似的内容?如果你放“!*”怎么办。tpl.html'这也会匹配类似
a.t.html
[^.tpl]
的内容,除了
.tpl
,一个字符序列之外,它没有任何意义。@revo-我知道,正如我在回答中提到的。然后你必须更新我认为答案背后的整个想法,因为它没有回答问题。@revo-你为什么不用正确的答案启发我们所有人,因为我显然没有足够快地为OP制定出让你满意的答案。这也会匹配类似
a.t.html
[^.tpl]
除了
.tpl
(一系列字符)之外没有任何意义。@revo-我知道,正如我在回答中提到的。然后你必须更新答案背后的整个想法,因为它不能回答问题。@revo-你为什么不用正确的答案启发我们大家,因为我显然没有足够快地为OP计算出满足你的方法。我会使用
+
量词来阻止
.html
单独匹配。我会使用
$
锚来阻止匹配,例如
.html.bak
@revo Sorry mate。在评论中没有看到你的正则表达式。它被复制了:(我会使用
+
量词来阻止
.html
单独匹配。我会使用
$
锚来阻止它匹配,例如
.html.bak
@revo Sorry mate。在注释中没有看到您的正则表达式。它被复制了:(