正则表达式完全指南
正则表达式基础
正则表达式是用于匹配文本模式的强大工具。它由普通字符和元字符组成。普通字符就是它们本身,而元字符则用于指定更复杂的匹配规则。正则表达式的元字符包括:^ $ . [ ] { } - ? * + ( ) | \。除了这些元字符,其他字符都被视为普通字符。不过,反斜杠字符\有特殊用途,它可以用来创建元序列,也能让元字符被当作普通字符处理。
需要注意的是,许多正则表达式的元字符在 shell 扩展时也有特殊含义。因此,当在命令行中传递包含元字符的正则表达式时,必须将其用引号括起来,以防止 shell 对其进行扩展。
任意字符元字符
第一个要介绍的元字符是点号.,它用于匹配任意字符。如果在正则表达式中包含点号,它将匹配该位置的任意字符。例如:
[me@linuxbox ~]$ grep -h '.zip' dirlist*.txt bunzip2 bzip2 bzip2recover gunzip gzip funzip gpg-zip preunzip prezip prezip-bin unzip unzipsfx在这个例子中,我们搜索了文件中所有匹配正则表达式.zip的行。需要注意的是,zip程序并没有被找到,这是因为点号元字符将匹配的长度增加到了四个字符,而zip只有三个字符,所以不