RegEx模式,用于排除具有特定字符串的文件名



我正试图为Ant任务编写一个正则表达式,该表达式排除目录中以特定字符序列结尾的文件。例如,我有以下三个文件:

file01.js
file02.js
file02-copy.js

我想要一个表达式,它可以找到前两个文件,并忽略末尾带有"-copy"的文件。我试过使用<include><excludes>的类似:

<fileset dir="." includes="js/">
    <include name="*.js"/>
    <exclude name="*copy*"/>
</fileset>

但很明显,因为它是一个JS文件,所以它仍然包含在内。因此,我尝试使用正则表达式来匹配文件(如果有人有其他建议,请务必建议):

<fileset dir="." includes="js/">
    <containsregexp expression="...">
</fileset>

这就是我的问题所在。我找不到一个能为我匹配的regEx。我试过一些像(w*)(!-copy).js这样的东西,但没有效果。如果有人能帮我,我将不胜感激。

我有没有提到我讨厌写regEx?

我会跳过include指令,只为明确排除的所有内容添加exclude指令。然后将隐含地包括其他文件。

我不知道你的文件结构是什么样子的,所以我可能错了,但也许这会奏效:

<fileset dir="js" excludes="*copy*" />

尝试匹配(?m)^(?=.js)((?!copy.js).)$

更多信息可以在下面的链接中找到。出色的职位。

正则表达式,以匹配不匹配';不包含一个单词吗?

相关内容

  • 没有找到相关文章

最新更新