Jas*_* Hu 12
让我通过向您展示我如何准确地定位信息来指导您如何使用 linux 的文档来自我回答此类问题。
man find通过搜索关键字 来查看正则表达式类型的一些基本信息,regular然后我看到:-regextype 类型
更改稍后在命令行上发生的 -regex 和 -iregex 测试所理解的正则表达式语法。要查看已知的正则表达式类型,请使用 -regextype help。Texinfo 文档(另请参阅)解释了各种类型正则表达式的含义和区别。
假设这就是您要查找的内容,文档说它位于 中Texinfo,所以我执行下一步;
info find。然后搜索regextype找到它的正确部分。然后我到达:'--正则表达式类型'
此选项更改“--regex”选项使用的正则表达式语法和行为。*note 正则表达式:: 有关 GNU findutils 理解的正则表达式方言的更多信息。
它要求参考名为note Regular Expressions 的进一步文档,当光标位于其上时,您可以通过按 Enter 键转到该文档。
菜单:
findutils-默认正则表达式语法::
awk 正则表达式语法::
egrep 正则表达式语法::
emacs 正则表达式语法::
gnu-awk 正则表达式语法::
grep 正则表达式语法::
posix-awk 正则表达式语法::
posix-基本正则表达式语法::
posix-egrep 正则表达式语法::
posix 扩展正则表达式语法::
最后两项正是您所要求的。阅读这两篇文章,您就会发现系统已经为您提供了正确的答案。
根据信息文档,它们非常相似,但有以下区别:
人物 '。' 匹配任何单个字符。
字符“*”、“+”和“?” 在正则表达式中的任何地方都是特殊的。
间隔由“{”和“}”指定。无效间隔被视为文字,例如 'a{1' 被视为 'a{1'
人物 '。' 匹配除空字符之外的任何单个字符。
'*'、'+' 和 '?' 在正则表达式中的任何点都是特殊的,除了以下不允许的地方:
间隔由“{”和“}”指定。不接受无效间隔,例如“a{1z”。