首先介绍下正则表达式,它是由一串字符和元字符构成的字符串,简称RE(Regular Expression),它的主要功能是文本查询和字符串操作,它可以匹配一个文本的字符和字符集,达到数据过滤的效果。

  字符分为普通字符和元字符两种。普通字符,例如a、b、1、2等,元字符,例如*、^、[]等,以下是各个元字符代表的含义:

元字符 含义
* 0个或多个在*之前的普通字符(hel*o)
. 任意匹配字符(hell.)
^ 匹配行首,或后面字符的非(^Hello,以Hello开头)
$ 匹配行尾(bye$,以bye结尾;^$,空行;^.$,只匹配一个字符的行)
[] 匹配字符集([0-9]、[a-z]、[A-Z]、[^a-c]匹配非a-c范围的字符)
\ 匹配一个元字符的特殊含义(\.)
\<\> 精确匹配符号(\<the\>,精确匹配字符串the)
\{n\} 匹配全面字符出现n次(Jo\{3\}b,匹配字符串“Jooob”)
\{n,\} 匹配全面字符至少出现n次((Jo\{3,\}b,匹配字符串中的o至少出现3次))
\{n,m\} 匹配全面字符出现n~m次(Jo\{3,6\},匹配字符串中的o出现次数在3-6之间)
匹配0个或1个它前面的字符(Jo?b,匹配的字符o出现0次或1次)
+ 匹配1个或多个它前面的字符(Jo+b,匹配的字符o至少出现一次)
() 通常结合|使用,re(a|o|e)d,匹配a、o、e中的任意一个字符
| 用于连接多个正则表达式,也可作为管道符用
{} 可以将多个正则表达式写入{}之间,可以匹配其中的任意表达式

例:

精确匹配:

[root@localhost Desktop]# grep -n '\<world\>' scripts/a.txt
2:echo "Hello world"
14:-----hello world     `
15:Hello world

[root@localhost Desktop]# grep -w world scripts/a.txt
echo "Hello world"
-----hello world        `
Hello world

或:

匹配规则“|”,需要与-E结合使用

[root@localhost Desktop]# grep -nE "java|jd" scripts/a.txt
8:/java/
13:www.jd.cn

POSIX字符

类名 含义
[:upper:] 表示大写字母A-Z
[:lower:] 表示小写字母a-z
[:digit:] 表示阿拉伯数字0-9
[:alnum:] 表示大小写字母或阿拉伯数字
[:space:] 表示空格或Tab
[:alpha:] 表示大小写字母

例:[root@localhost Desktop]# grep -n [[:upper:]] scripts/a.txt
  2:echo "Hello world"
  15:Hello world
  16:I am Spal

最新文章

  1. angularjs 解决ng-repeat数组内重复对象报错的问题
  2. Java中Array.sort()的几种用法(需要初始化要排序的对象)
  3. Codeforces Round #383 (Div. 2) D 分组背包
  4. MPI Maelstrom - POJ1502最短路
  5. poj 1862 Stripies/优先队列
  6. protocol buffer 整数序列化
  7. Darwin Streaming Server 安裝操作備忘
  8. C#线程总结
  9. [转]MVP模式开发
  10. Trailing Zeroes (III)(lightoj 二分好题)
  11. Win10 UWP xaml 延迟加载元素
  12. asp.net mvc 下拉列表
  13. android context获取目录详解
  14. Python 生成随机验证码
  15. 深入解析 SQL Server 高可用镜像实现原理
  16. CSS3 border-radius 圆角
  17. 获取CPU序列号的Delphi程序
  18. java获取屏幕密度
  19. 近期js
  20. 【BZOJ4452】[Cerc2015]Export Estimate 并查集

热门文章

  1. hadoop 文件系统API操作
  2. html 把左框的选中项添加到右框
  3. XP下安装MAC OS虚拟系统
  4. MVC4 数据验证、特性、自动属性总结
  5. ios app下载跳到itunes
  6. JAX-WS(三)构建简单webservice部署到tomcat上
  7. SQL 数据库 函数
  8. [transferred] javascript exception handling.
  9. csuoj 1396: Erase Securely
  10. Python学习总结18:函数 参数篇