正则表达式

一、基础正则表达式

用某种模式去匹配字符串的公式,由字符和元字符组成

适用与Liunx

1、.匹配换行符以外的任意一个字符 grep 'r..t'

2、*匹配前一个字符0次或多次 grep 'r.*'任意长度不包含换行符的字符

3、\{n,m}\控制字符重复字数,

 \{n\} 匹配前一个字符n次,

 \{n,\}匹配前一个字符至少n次,

\{n,m\}匹配前一个字符个数的范围为n-m

4、^开头字符标识,$结尾字符标识 grep '^r.*h$' /etc   ^$为空行

5、[ ]匹配括号内的任一字符 [a-z],[1..5],[a-zA-Z],[^A-Z]表示取反

6、\转义 \.*匹配任意长度的.

7、\< \>界定单词的左右边界  echo "hello" | grep '\<hello\>' --hello

8、\d  等价于[0-9]  echo 123 | grep '\d'

9、\b 匹配单词边界 grep "\b hello \b"

10、\B匹配非单词边界

11、\w匹配字母、数字和下划线 [A-Za-z0-9]

12、\W匹配非字母、非数字和非下划线[^A-Za-z0-9]

13、\n换行符

14、\r回车符

15、\t 制表符

16、\f 换页符

17、\s任意空白符

18、\S任意非空白符

二、扩展正则表达式

扩展正则表达式实在基础正则表达式的补充,即只增加几个扩展符号。使用扩展正则表达式适用egrep命令

?匹配前一个字符0次或n次

+匹配前一个字符至少1次以上

|或

()与| h(ar|oo|01)d

三、通配符

文件搜索,用于word文档

* 表示0个或多个字符

?表示任意一个字符

{}匹配任意以,隔开的字符,支持嵌套

ls -l {a,b,c}.doc

ls -l [a-z].doc

ls -l {a-z}*.doc,[0-9]??.txt}

^ !与[]表取反

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值