linux:正则表达式

Posted Pam

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux:正则表达式相关的知识,希望对你有一定的参考价值。

介绍

一种模式匹配语言,可以使永远筛选数据以查找特定的内容,可以应用在vim、grep、less、perl、python中

基础

.(点)

匹配除 \\n 之外的任何单个字符,若要匹配包括 \\n ,则应使用  [.\\n] 

[xyz]

匹配所包含的任意一个字符

例如: [abc] 可以匹配“plain”中的 a

^

匹配输入字符串的开始位置

例如: ^z能匹配所有以 z 开头的字符串

匹配输入字符串的结束位置

例如: $o 能匹配所有以 o 结尾的字符串

*

匹配前面的子表达式零次或多次

例如:zo* 能匹配 z 以及 zoo  ,等价于{0,}

+

匹配前面的子表达式一次或多次

例如: zo+  能匹配 zo 以及zoo ,但不能匹配z ,等价于 {1,}

匹配前面的子表达式零次或一次

例如: do(es)?  能匹配 do 以及does  ,等价于 {0,1}

\\b

匹配一个单词边界,等价于 \\< 和 \\>

例如:er\\b 可以匹配 never 中的 er,但不能匹配 verb 中的 er

运用

grep

文本搜索工具,能使用正则表达式搜索文本,并把匹配的行打印出来

常用选项:

-i :不区分大小写

-v:仅显示不包含正则表达式匹配项的行

-r:将递归的匹配正则表达式的数据搜索应用在一族文件或者目录中

-A number :显示正则表达式匹配项之后的行数

-B number :显示正则表达式匹配项之前的行数

-e:如使用多个 -e,可以提供多个正则表达式,并将与逻辑 or一起使用

举例:

以上是关于linux:正则表达式的主要内容,如果未能解决你的问题,请参考以下文章

Linux正则表达式教程:Grep Regex示例

Linux正则表达式及grep命令

linux-正则表达式

linux正则表达式

linux 中 ^[^abc] 正则表达式啥意思

Linux 基础正则表达式