正则表达式功能列表

特殊符号

特殊符号代表意义
[:alnum:]代表英文大小写字符及数字,即0-9,A-Z,a-z
[:alpha]代表任何英文大小写字符,即A-Z,a-z
[:blank:]代表空格键与Tab键
[:cntrl:]代表键盘上面的控制按钮,即包括CR,LF,Tab,Del等
[:digit:]代表数字,即0-9
[:graph:]除了空格符(空格符与[Tab]按键)外的其他所有按键
[:lower:]代表小写字符,即a-z
[:print:]代表任何可以被打印出来的字符
[:punct:]代表标点符号,即" ’ ? ! ; : # $
[:upper:]代表大写字符,即A-Z
[:space:]代表会产生空白的字符,包括空格键[Tab]CR等
[:xdigit:]代表十六进制的数字类型,因此包括0-9,a-f,A-F等的数字与字符

基础正则表达式字符


RE字符        
意义与范例
^word意义:待查找的字符串word在行首
范例:查找行首 为#开始的那一行,并列出行号
grep -n ‘^#’ regular_express.txt
word$意义:待查找字符串(word)在行位尾
范例:将行尾为!的那一行打印出来,并列出行号
grep -n ‘!$’ regular_express.txt
.意义:代表一定有一个任意字符的字符
范例:查找的字符串可以是(eve)(eae)(eee)(e e)但不能仅有ee,即e与e之间“一定”仅有一个字符
grep -n ‘e.e’ regular_express.txt
\意义:转义字符,将特殊符号的特殊意义去除
范例:查找含有单引号’的那一行
grep -n ’ regular_express.txt
*意义:重复零个到无穷多个的前一个字符
范例:找出含有(es)(ess)(esss)等的字符串,注意,因为 * 可以是0个,所以es也是符合待查找字符串的。另外,因为为重复“前一个RE字符”的符号,因此,在之前必须紧接着一个RE字符哦!例如任意字符为“.
grep -n 'ess
’ regular_express.txt
[list]意义:从字符集合的RE字符里面找出想要选取的字符
范例:查找含有(gl)或(gd)的那一行,需要特别留意的是,在[]当中代表一个待查找的字符,例如“a[afl]y”代表被查找的字符串可以是aay,afy,aly即[afl]代表的是a或f或l的意思
grep -n ‘g[ld]’ regular_express.txt
[n1-n2]意义:从字符集合的RE字符里面找出含有list中任意一个字符的字符范围
范例:查找含有任意数字的那一行。需要特别留意,在字符集合中的减号-是由特殊意义的,它代表两个字符之间的所有连续字符。但这个连续字符是否与ASCII编码有关,因此,你的编码需要设置正确(在bash中,需要确定LANG与LANGUAGE的变量是否正确)例如所有大写字符则为[A-Z]
grep -n ‘[0-9]’ regular_express.txt
[^list]意义:从字符集合的RE字符里面找出不含有list中任意一个字符的字符串或范围
范例:查找的字符串可以是(oog)(ood)但是不能是(oot),那个^在[]内时代表的意义是“反向选择”的意思。例如,我不要大写字符,则为[^A-Z].
grep -n ‘oo[^t]’ regular_express.txt
\{\}意义:连续n到m个的前一个RE字符,若为\{n\}则是连续n个的前一个RE字符,若为\{n,\}则是连续n个以上的前一个RE字符
范例:在g与g之间有2到3个的o存在的字符串,即(goog)(gooog)
grep -n go\{2,3\}g’ regular_express.txt

扩展正则表达式

扩展正则表达式使用 grep -E或者egrep

RE字符意义与范例
+意义:重复一个或一个以上的前一个RE字符
范例:查找(god)(good)(goood)等的字符串。那个o+代表一个以上的o
egrep -n ‘go+d’ regular_express.txt
意义:零个或一个前一个RE字符
范例:查找(gd)(god)这两个字符串。那个o?代表空的或者1个o。
egrep -n ‘go?d’ regular_express.txt
|意义:用或(or)的方式找出数个字符串
范例:查找gd或good这两个字符串
egrep -n ‘gd|good’ regular_express.txt
()意义:找出“组”字符串
范例:查找(glad)或(good)这两个字符串,因为g与d是重复的,所以,我就可以将la与oo列于()当中,并以
()+意义:多个重复组的判别
范例:将“AxyzxyzxyzxyzC”用echo显示,然后在用如下方法查找一下
echo ‘AxyzxyzxyzxyzC’
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值