欢迎光临散文网 会员登陆 & 注册

TLCL学习笔记|第二十章|正则表达式

2022-04-23 15:25 作者:LogByMax  | 我要投稿

(认知有限,如有不妥,还请告知,欢迎讨论)


元字符

^ $ . [ ] { } - ? * + ( ) | \


原义字符

除了元字符外的字符


在个别情况下,反斜杠会被用来创建元序列, 元字符也可以被转义为原义字符,而不是被解释为元字符。

在命令行中传递包含元字符的正则表达式的时候,需要 把元字符用引号引起来 , 这样可以阻止 shell 试图展开它们。


任何字符

使用 . 表示 在此位置的任意一个字符,比如任何字符

执行ls . | grep '.bin', 筛选出当前目录下,其文件名包含“bin”,且在“bin”之前还有一个任意字符的文件


锚点

使用 ^ 和 $ 符号,只有在文本行的开头(^)或末尾($)被找到时,才算发生一次匹配。

执行 ls /usr/bin | grep '^zip',列出/usr/bin目录下所有文件名开头为zip的文件;

执行 ls /usr/bin | grep 'zip$',列出/usr/bin目录下所有文件名开头为zip的文件;

待匹配字符集合

用[]从一个指定的字符集合中匹配单个字符

执行 ls . | grep 'pl[oa]', 列出当前目录下文件名中包含"pl",且“pl”后面的字母为o或a的文件


用^表示否定

执行ls /usr/bin | grep '[^p]ta.',列出/usr/bin目录下所有文件名包含“ta”,且“ta”不在文件名最后,另外“ta”之前的字母不为“p”的文件;

正则表达式直接用在路径上

交替

用 | 表示否定

限定符

使用?匹配零个或一个元素


使用*匹配零个或多个元素


使用+匹配一个或多个元素


使用{}匹配特定个数的元素


=END=

=reference=

[1]billie66.github.io/TLCL/book/chap20.html

TLCL学习笔记|第二十章|正则表达式的评论 (共 条)

分享到微博请遵守国家法律