我有时间试图找出忽略与特定模式匹配的文件的语法,即:Com.Example/Com.Example.DomainModel23012013101705.somefileextension。该变量似乎是嵌入文件名的日期(23012013101705)
我试过 [0-9].somefileextension 和其他模式都无济于事。
谢谢你,斯蒂芬
我有时间试图找出忽略与特定模式匹配的文件的语法,即:Com.Example/Com.Example.DomainModel23012013101705.somefileextension。该变量似乎是嵌入文件名的日期(23012013101705)
我试过 [0-9].somefileextension 和其他模式都无济于事。
谢谢你,斯蒂芬
遗憾的是,Ry4an 犯了错误。Grep() 不适用于文件名。
我的“试验场”
>dir /B
.hg
404.php
archive.php
archives.php
comments.php
footer.php
functions.php
header.php
html5.js
image.php
index.php
license.txt
links.php
page.php
readme.txt
screenshot.png
search.php
sidebar.php
single.php
style.css
测试
>hg locate "set:grep(html5)\.php"
hg: parse error at 11: invalid token
>hg locate "set:grep(html5)"
header.php
readme.txt
注意:找到的文件中包含文本“html5”,但没有文件html5.js
>hg locate "set:s[a-z]+\.php"
abort: \.php not under root
>hg locate "set:s[a-z]+.php"
>hg locate "set:s[a-z]+"
hg: parse error at 7: not a prefix: end
>hg locate "set:s\w+"
hg: parse error at 4: not a prefix: end
所有带有set:
前缀和正则表达式的测试都失败了
带有集合的不同全局模式:
>hg locate "set:s**.php"
search.php
sidebar.php
single.php
>hg locate "set:s**.*"
screenshot.png
search.php
sidebar.php
single.php
style.css
>hg locate "set:s**e.*"
single.php
style.css
文件集中的正则表达式模式
>hg locate "re:s[a-z]+.php"
search.php
sidebar.php
single.php
>hg locate "re:s[a-z]+."
screenshot.png
search.php
sidebar.php
single.php
style.css
恢复
hg forget "re:Com\.Example\.DomainModel[0-9]+\.somefileextension$"
或者
hg forget "set:Com.Example.DomainModel**.somefileextension"
和相同的设置为 hgignore
使用正则表达式而不是全局。Mercurial 支持它支持的任何地方。那.hgignore
将是:
syntax: regexp
[0-9]\.somefileextension
该正则表达式与您尝试的 glob 匹配,但您当然可以将其缩小为:
syntax: regexp
^Com\.Example/Com\.Example\.DomainModel\d+\.somefileextension$