Linux正则表达式入门

正则表达式是对字符串(包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”))操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。正则表达式是一种文本模式,该模式描述在搜索文本时要匹配的一个或多个字符串。

1、字符匹配

		.			#匹配任意单个字符
		[]			#匹配指定范围内的单个字符
		[^]			#匹配指定范围外的单个字符
		[:digit:]	#数字
		[:lower:]	#小写字母
		[:upper:]	#大写字母
		[:alpha:]	#所有字母
		[:alnum:]	#数字和字母
		[:punct:]	#所有标点符号
		[:space:]	#空格

例:grep “r[[:alpha:]][[:alpha:]]t” /etc/passwd #rt中间匹配两个字母

2、匹配字数

		*			#匹配其前面的字符任意次,0,1,多次
		.*			#匹配任意长度的任意字符
		\?			#匹配其前面的字符0或1次,即前面字符可有可无
		\+			#匹配其前面的字符1次或1次以上
		\{m\}		#匹配前面的字符m次
 		\{m,n\}		#匹配前面的字符至少m次最多n次
 		\{0,n\}		#匹配前面的字符最多n次
 		\{m,\}		#匹配前面的字符至少m次

3、位置锚定

^				#行首锚定,用于模式的最左侧,脱字符
例:grep "^root" /etc/passwd
$				#行尾锚定,用于模式的最右侧
例:grep "root$" /etc/passwd
^PATTERN$		#用于PATTERN匹配整行
^$				#空白行
^[[:space:]]*$	#空行或包含空白字符的行
\< \b			#词首锚定
\>  \b			#词尾锚定
\<pattern\>		#匹配完整单词

4、分组和引用

		分组
			\(\)		#将一个或多个字符捆绑,当整体处理
			\(xy\)*ab	#命令行中括号有特殊意义所以用转义符\
 		引用
 			\1 			#模式从左侧起,第一个左括号以及与之匹配的右括号之间的模式所匹配到的字符
 			\2 			#模式从左侧起,第二个左括号以及与之匹配的右括号之间的模式所匹配到的字符
 			\3 			#模式从左侧起,第三个左括号以及与之匹配的右括号之间的模式所匹配到的字符
			...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值