正则表达式

正则表达式:REGular EXPression

正则表达式:

basic REGEXP:基本

Extended REGEXP:扩展


基本的正则表达式:

元字符:

.  匹配任意单个字符

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

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

[:digit:],[:lower:],[:upper:],[:punct:],[:space:],[:alpha:],[:alnum:],这只是字符集合

如果是范围内的任意单个字符[[digit]],好好理解一下

字符个数(贪婪模式:尽可能多的去匹配):

* 匹配其前面的字符0-n任意次

a*b  a出现任意次后面跟着b

a.*b显示a打头的,b结尾的字符

.*任意长度的任意字符

\?匹配其前面的字符0次或者1次,记得转义\?

a?bab或者b的行就可以

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

{1,} :至少三次

{0,3}0-3

位置锚定:

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

$:锚定行尾,此字符前面的字符必须出现在行尾

^$:空白行

grep '^$' /etc/inittab | wc -l

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

\>\b:其后面的任意字符必须作为单词尾部出现

\<root\> :必须出现root这个单词

分组:

\(\)整体,后面可以使用字符再次使用后项引用

\(ab\)*ab整体出现0n

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

grep '\(l..e\).*\1' test3.txt


扩展的正则表达式:不需要反斜杠进行转义

字符匹配:

.:匹配单个字符

[]:匹配括号里面的字符

[^]:匹配括号内以外的字符

次数匹配:

* : 任意次

? :0次或者一次

+ :其前至少一次 {1,}

{m,n}

位置锚定

^:行开头

$:行结尾

\<:单词头部

\>:单词尾部

分组

()

\1\2\3

或者

a|b两者有其一即可

C|cat匹配C或者cat

grep -E '(C|c)at'匹配Catcat



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值