正则表达式:从基础到高级应用
1. 正则表达式基础
正则表达式由字面量和元字符组成。元字符用于指定更复杂的匹配规则,常见的元字符有: ^ $ . [ ] { } - ? * + ( ) | \ ,其他字符则被视为字面量。不过,反斜杠字符在某些情况下可用于创建元序列,也能让元字符被当作字面量处理。
当在命令行传递包含元字符的正则表达式时,必须将其用引号括起来,以防止 shell 对其进行扩展。
1.1 任意字符
. 元字符可匹配任意字符。例如:
[me@linuxbox ~]$ grep -h '.zip' dirlist*.txt
bunzip2
bzip2
bzip2recover
gunzip
gzip
funzip
gpg-zip
preunzip
prezip
prezip-bin
unzip
unzipsfx
此例中,正则表达式 .zip 要求匹配长度为四个字符的字符串,因此 zip 未被匹配到。若列表中的文件包含 .zip 扩展名,也会被匹配,因为扩展名中的 . 会被视为“任意字符”。
1.2 锚点
^ 和 $ 在正则表达式中被视为锚点。 ^ 表示匹配必须从行首开始, $ 表示匹配必须在行尾结
超级会员免费看
订阅专栏 解锁全文
65

被折叠的 条评论
为什么被折叠?



