Linux正则表达式

奋斗吧
奋斗吧
擅长邻域:未填写

标签: Linux正则表达式 博客 51CTO博客

2023-04-12 18:24:00 224浏览

Linux正则表达式,ed编辑器内部有一些特殊含义的字符。在ed中规定,当有些字符出现在搜索模式中或s命令的左边时,具有特定的含义。这些有特定含义的字符称之为“元字符”。而使用元字符进行匹配的模式称为“正则表达式(RegularExpressions)”。正则表达式是一种说明查找匹配模式的语法基于ed的正则表达式是贯穿于整个UNIX系统的。在UNIX许多命令中,使用的匹配模式及shell文件名匹配方式都是采用正则表达

ed编辑器内部有一些特殊含义的字符。在ed中规定,当有些字符出现在搜索模式中或s命令的左边时,具有特定的含义。这些有特定含义的字符称之为“元字符”。而使用元字符进行匹配的模式称为“正则表达式(Regular Expressions)”。正则表达式是一种说明查找匹配模式的语法基于ed的正则表达式是贯穿于整个UNIX系统的。在UNIX许多命令中,使用的匹配模式及shell文件名匹配方式都是采用正则表达式完成。

基本正则表达式中元字符的含义

 c  任何非特殊字符c都与自身匹配

 \c  关闭字符c的特殊含义

 ^  当模式以^开始时,匹配行首

 $  当模式以$结束时,匹配行尾

 ·  匹配任何单个字符  [...]匹配…中的任何一个字符,像a-z这样的字符范围是合法的

 [^...]匹配不在…中的任何一个字符,像a-z这样的字符范围是合法的

 r*  匹配0个或多个r,其中r为一个字符、.或[...]   (.* 匹配所有内容)

\(...\) 标记正则表达式作为一个整体 

/\{n,m\}       重复次数匹配符,x\{n,m\}表示其前面的字符x至少出现n次,最多出现m次,如:

/m\{3\}/  要匹配字母m出现次数为3次的文本  

 /m\{5,\}/ 要匹配字母m出现次数至少5次的文本  

/m\{3,5\}/ 匹配字母m出现次数在3至5次的文本。

  /[1][3-8][0-9]\{9\}/   匹配11位手机号码

/s\{2\}\|o\{2\}/    匹配连续两个s或o  

*等价于 {0,} 

基本正则表达式匹配模式

/^$/ 空行,即只有换行

/./ 非空行,即至少包含一个字符

/^/ 所有行   ;  /thing/ 包含thing的行 /^thing/ 行首为thing的行;/thing$/ 行尾为thing的行

/^thing$/ 只包含thing的行

/thing.$/ 行尾为thing加上任意一个字符

/thing\.$/ 行尾为thing.

/\/thing\// 包含/thing/的行

/[tT]hing/ 包含Thing或由thing的行

/thing[0-9]/   包含thing后跟一个数字的行

/thing[.^0-9]/ 包含thing后跟一个非数字的行

/thing[0-9][^0-9]/ 包含thing跟一个数字及一个非数字的行

/thing 1.*thing2/ thing 1后为任意字符申,然后为thing2的行

/^thingl. *thing2$/ 行首为thing 1,行尾为thing2的行

/^[a-z][0-9]$/ 匹配一个由一个小写字母和一位数字组成的字符串,比如"z2"、"t6"或"g7",但不是"ab2"、"r2d3" 或"b52"

/[^a-z]/  除了小写字母以外的所有字符

/[0-9][0-9]$/ 要求第一个字符不能是数字,然后是一个数字结尾

/[a-zA-Z]/ 第一个字符不是字母

/^[0-9]\{3,\}[a-z]/  匹配最少用连续3个数字开头的字符串

/[^\\\/\^]/  除了(\)(/)(^)之外的所有字符

扩展正则表达式中元字符的含义

  • 匹配前面的子表达式一次或多次。例如,'zo+' 能匹配 "zo" 以及 "zoo",但不能匹配 "z"。 等价于 {1,}。 ?  匹配前面的子表达式零次或一次。例如,"do(es)?" 可以匹配 "do" 或 "does" 。等价于 {0,1}。 (...) 匹配圆括号中的模式并作为一个整体匹配 \<  匹配一个单词的开始。 \>  匹配一个单词的结束。 \w  匹配字母、数字、下划线。等价于'[A-Za-z0-9_]'。 \W  匹配非字母、数字、下划线。等价于 '[^A-Za-z0-9_]'
  • egrep等价于grep -E
  • 支持扩展正则表达式  grep "s\{2\}\|o\{2\}" /etc/passwd egrep "s{2}|o{2}" /etc/passwd 

好博客就要一起分享哦!分享海报

此处可发布评论

评论(0展开评论

暂无评论,快来写一下吧

展开评论

您可能感兴趣的博客

客服QQ 1913284695