Linux正则表达式的使用和基本命令grep、egrep、fgrep的用法


一、正则表达式

一个系统的使用,不仅仅只是软件的安装调试和维护,同时也是对与现有环境的优化和改革,我们在linux的使用过程中总是会遇到很多对于参数的描述,有时我们需要的是参数本身所给出的答案,有时我们仅仅需要的只是参数的最终状态结果。

是一些特殊或不很特殊的字符串模式的集合。通过一些元字符,来表示一些通配的意义,这可以简单的称之为正则表达式。

正则表达式:REGular EXPression, 简写为:REGEXP

元字符:

.:匹配任意单个字符

匹配字符次数(工作在贪婪模式下,尽可能的去匹配):

*:匹配其前面的字符任意次

a, b, ab, aab, acb, adb, amnb

a*b

.*:匹配任意长度的任意字符

[]:匹配指定范围内的任意单个字符

[^]:匹配指定范围外的任意单个字符

[:digit:], [:lower:], [:upper:], [:punct:], [:space:], [:alpha:], [:alnum:]

\?:匹配其前面的字符1次或0次

\{m,n\}:匹配其前面的字符至少m次,至多n次

\{1,\} 至少一次

\{0,3\} 至多三次

位置锚定:

^: 锚定行首,此字符后面的任意内容必须出现在行首

$: 锚定行尾,此字符后面的任意内容必须出现在行尾

^$: 空白行

\<或\b:锚定词首,其后面的任意字符必须作为单词首部出现

\>或\b: 锚定词尾,其前面的任意字符必须作为单词尾部出现

\<root\>: 精确匹配root

分组:

\(\)

\(ab\)*    ab可以出现0次1次任意次

后向引用

\1: 第一个左括号以及与之对应的右括号所包括的所有内容

\2: 第二个左括号以及与之对应的右括号所包括的所有内容

\3: 第三个左括号以及与之对应的右括号所包括的所有内容

扩展的正则表达式:

字符匹配:

.:匹配任意单个字符

[]:匹配指定范围内的任意单个字符

[^]:匹配指定范围外的任意单个字符

次数匹配:

*:

?:匹配其前面的字符0次或一次

+:匹配其前面的字符至少一次

{m,n}:匹配至少m次至多n次

位置锚定:

^: 锚定行首,此字符后面的任意内容必须出现在行首

$: 锚定行尾,此字符后面的任意内容必须出现在行尾

^$: 空白行

\<或\b:锚定词首,其后面的任意字符必须作为单词首部出现

\>或\b: 锚定词尾,其前面的任意字符必须作为单词尾部出现

\<root\>: 精确匹配root

分组:

(): 分组

\1, \2, \3, ...

或者

|:or  (a|abc a或者abc)

  • 1
  • 2
  • 下一页

相关内容