首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于排除包含特定字符串的文件名的RegEx模式

问用于排除包含特定字符串的文件名的RegEx模式
EN

Stack Overflow用户
提问于 2012-03-29 17:32:56
回答 2查看 4.4K关注 0票数 1

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

代码语言:javascript
复制
file01.js
file02.js
file02-copy.js

我想要一个表达式,它能找到前两个文件,并忽略结尾有"-copy“的那个文件。我尝试过使用<include>和<excludes>的,如下所示:

代码语言:javascript
复制
<fileset dir="." includes="js/">
    <include name="*.js"/>
    <exclude name="*copy*"/>
</fileset>

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

代码语言:javascript
复制
<fileset dir="." includes="js/">
    <containsregexp expression="...">
</fileset>

这就是我的问题所在。我找不到适合我的regEx。我已经尝试了一些像(\w*)(!-copy).js这样的东西,但这没有任何作用。如果有人能帮助我,我将不胜感激。

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-29 17:38:50

我会跳过include指令,只为显式排除的内容添加exclude指令。然后将隐式包含其他文件。

我不知道你的文件结构是什么样子的,所以我可能对这个错误,但这可能会起作用:

代码语言:javascript
复制
<fileset dir="js" excludes="*copy*" />
票数 2
EN

Stack Overflow用户

发布于 2012-03-29 18:22:34

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

更多信息可以在下面的链接中找到。很棒的帖子。

Regular expression to match a line that doesn't contain a word?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9922672

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档