以以下命令为例:
find . -regex ".*\.\(cpp\|h\)"
这将在目录中找到所有的.h和.cpp文件。句号“。” 在正则表达式中通常表示“任何字符”。要使其仅与实际期间匹配,必须使用反斜杠字符“ \”对其进行转义。
在这种情况下,给定具有特殊含义的字符,您必须对其进行转义以获取其代表的实际字符。
现在,带括号和“或”栏,分别为字符“(”,“)”和“ |”。这些也具有特殊含义,用于对正则表达式进行分组。但是,要获得特殊含义,必须使用反斜杠对字符进行转义!没有反斜杠,字符具有它所代表的实际字符的含义。
为什么是“。” 与'(',')'和'|'不同吗?