我不能说它适用于 Windows,但根据我的理解,这个正则表达式是正确的,以及我将如何编写它(也许^开头除外)
来自http://www.velocityreviews.com/forums/showpost.php?p=382944&postcount=3
^.+\.((jpg)|(gif)|(exe))$
Run Code Online (Sandbox Code Playgroud)
当我跑
find -regex '^.+\.((jpg)|(gif)|(exe))$'
Run Code Online (Sandbox Code Playgroud)
我写的时候exe不显示
find -regex '^.+\.exe$'
Run Code Online (Sandbox Code Playgroud)
确实如此。为什么find -regex不想使用()或者(()|())?我一直认为这对一切都有效。
Kyl*_*ndt 11
GNU find 默认使用 emacs 正则表达式,您可以使用-regextype选项更改该类型(请参阅 man find)。
如果你使用-regextype posix-egrep你的表达似乎有效。然后你也可以将模式减少到^.+(jpg|gif|exe)$
使用 emacs:find . -regex '.+\(jpg\|gif\|exe\)$'. 有关这些特定的正则表达式规则,请参阅emacs 手册的这一部分。你需要逃避|,()让他们不是字面上的。
| 归档时间: |
|
| 查看次数: |
4121 次 |
| 最近记录: |