【shell】正则表达式元字符

正则表达式RE


正则表达式是一种字符模式,用于在查找过程中匹配指定的字符。
在大多数程序里,正则表达式都被置于两个正斜杠之间;例如/[oO]ve/就是由正斜杠界定的正则表达式,
它将匹配被查找的行中任何位置出现的相同模式。在正则表达式中,元字符是最重要的概念。

匹配数字: ^[0-9]+$		123 456 5y7(X)
匹配Mail:[a-z0-9_]+@[a-z0-9]+\.[a-z]+ 
匹配IP: [0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}[[:digit:]]....

元字符


基本元字符

^		行首定位符			 ^love
$		行尾定位符			 love$
.		匹配单个字符		     l..e
*		匹配前导符0到多次	    ab*love
.* 		任意多个字符			
[]		匹配指定范围内的一个字符 [lL]ove
[-]		匹配指定范围内的一个字符 [a-z0-9]ove
[^]		匹配不在指定组内的字符	  [^a-z0-9]ove
\		用来转义字符	     	  love\.
\<		词首定位符			  \<love
\>		词尾定位符			  love\>
\(..\)	匹配稍后使用的字符的标签  :% s/192.168.220.1/192.168.220.5/
							 :% s/\(192.168.220.\)1/\15/
							 :% s/\(192.)\(168.\)\(220.\)1/\1\2\35/
							 :% 3,9 s/\(.*\)/#\1/
x\{m\}	字符x重复出现m次		 o\{5\}
x\{m,\} 字符x重复出现m次以上		o\{5,\}
x\{m,n\}字符x重复出现m到n次		 o\{5,10\}

扩展元字符

+				匹配一个或多个前导字符		[a-z]+ove
?				匹配零个或一个前导字符		lo?ve
a|b				匹配a或b				  love|hate
()				组字符					  loveable|rs	love(able|rs)	ov+	(ov)+
(...)(...)\1\2	 标签匹配字符				 (love)able\1er
x{m}			字符x重复m次				 o{5}
x{m,}			字符x至少重复m次			o{5,}
x{m,n}			字符x重复m到n次			 o{5,n}

POSIX字符类

[:alnum:]	字母与数字字符				[[:alnum:]]+
[:alpha:]	字母字符(包括大小写字母)	  [[:alpha:]]{4}
[:blank:]	空格与制表符				 [[:blank:]]*
[:digit:]	数字字母				   [[:digit:]]?
[:lower:]	小写字母				   [[:lower:]]{5,}
[:upper:]	大写字母				   [[:upper:]]+
[:punct:]	标点符号				   [[:punct:]]
[:space:]	包括换行符,回车符等在内的所有空白 [[:space:]]+
空行
^$
%[\t]*$

注释行
^#
^[\t]*#
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值