文本查找的需要
grep,egrep,fgrep

grep:Global Research。根据模式,去搜索文本,并将符合模式的文本行显示出来
Pattern:文本字符和正则表达式的元字符组合而成匹配条件

grep:
  grep [options] PATTERN [FILE...]
  [root@localhost ~]# grep 'root' /etc/passwd
  root:x:0:0:root:/root:/bin/bash
  operator:x:11:0:operator:/root:/sbin/nologin
  [root@localhost ~]#
  -i:不考虑大小写
  --color:颜色高亮
  -v:反向查找,显示没有被模式匹配的行
  -o:只显示被模式匹配的字符串

正则表达式:REGular EXPression,简写为REGEXP
元字符:
.:匹配任意单个字符
[]:匹配指定范围内的任意单个字符
[^]:匹配指定范围外的任意单个字符

字符个数:
*:匹配其前面的字符任意次
  a*b:的意思就是a可以出现任意次(包括0次),随后跟了个b。比如 b、ab、aab、
  a.*b:这才表示任意长度的任意字符
.*:任意长度的任意字符
默认情况下,正则表达式工作在贪婪模式下。就是能匹配到哪就匹配到哪,尽可能长的去匹配。比如上面的a.*b:amnb是可以的,amnbmnbmnb也是可以匹配到的
\?:匹配其前面的字符一次或0次
\{m,n\}:匹配前面的字符至少m次,至多n次

位置锚定:
^:锚定行首,此字符后面的任意内容必须出现在行首
$:锚定行尾,此字符前面的任意内容必须出现在行尾
^$:空白行

\<或者\b:锚定词首,其后面的任意字符必须作为单词的首部出现
\>或者\b:锚定词尾,其前面的任意字符必须作为单词的尾部出现

分组:
\(\):分组
  后向引用
  \1:引用第一个左括号以及与之对应的右括号所包括的所有内容
  \2:
  \3:
  ...

grep:使用基本正则表达式定义的模式来过滤文本的命令
  -i
  -v
  -o
  --color
  -E:使用扩展正则表达式
  -A #:其后(#是数字,数字几就是其几行)
  -B #:其前
  -C #:其前后

扩展正则表达式:

字符匹配:
.
[]
[^]

次数匹配:
*:
?:
+:匹配其前面的字符至少一次,
{m,n}:扩展正则表达式的花括号不需要使用反斜线

位置锚定:
^
$
\<
\>

分组:
():分组
\1,\2,\3,...

或者
|:or的意思,a|b是a或者b

C|cat:C或cat。或者是整个两边都或
(C|c):利用分组匹配小c或大C

grep -E = egrep

fgrep:fast,不支持正则表达式

9_grep及正则表达式的更多相关文章

  1. JS正则表达式常用总结

    正则表达式的创建 JS正则表达式的创建有两种方式: new RegExp() 和 直接字面量. //使用RegExp对象创建 var regObj = new RegExp("(^\\s+) ...

  2. Python高手之路【五】python基础之正则表达式

    下图列出了Python支持的正则表达式元字符和语法: 字符点:匹配任意一个字符 import re st = 'python' result = re.findall('p.t',st) print( ...

  3. C# 正则表达式大全

    文章导读 正则表达式的本质是使用一系列特殊字符模式,来表示某一类字符串.正则表达式无疑是处理文本最有力的工具,而.NET提供的Regex类实现了验证正则表达式的方法.Regex 类表示不可变(只读)的 ...

  4. C#基础篇 - 正则表达式入门

    1.基本概念 正则表达式(Regular Expression)就是用事先定义好的一些特定字符(元字符)或普通字符.及这些字符的组合,组成一个“规则字符串”,这个“规则字符串”用来判断我们给定的字符串 ...

  5. JavaScript正则表达式,你真的知道?

    一.前言 粗浅的编写正则表达式,是造成性能瓶颈的主要原因.如下: var reg1 = /(A+A+)+B/; var reg2 = /AA+B/; 上述两个正则表达式,匹配效果是一样的,但是,效率就 ...

  6. Python 正则表达式入门(中级篇)

    Python 正则表达式入门(中级篇) 初级篇链接:http://www.cnblogs.com/chuxiuhong/p/5885073.html 上一篇我们说在这一篇里,我们会介绍子表达式,向前向 ...

  7. 【JS基础】正则表达式

    正则表达式的() [] {}有不同的意思. () 是为了提取匹配的字符串.表达式中有几个()就有几个相应的匹配字符串. (\s*)表示连续空格的字符串. []是定义匹配的字符范围.比如 [a-zA-Z ...

  8. JavaScript 正则表达式语法

    定义 JavaScript定义正则表达式有两种方法. 1.RegExp构造函数 var pattern = new RegExp("[bc]at","i"); ...

  9. [jquery]jquery正则表达式验证(手机号、身份证号、中文名称)

    数字判断方法:isNaN()函数 test()方法 判断字符串中是否匹配到正则表达式内容,返回的是boolean值 ( true / false ) // 验证中文名称 function isChin ...

随机推荐

  1. python条件表达式:多项分支,双向分支

    # ### 多项分支 ''' if 条件表达式1: code1 code2 elif 条件表达式2: code3 code4 elif 条件表达式3: code5 code6 else: code7 ...

  2. 爬取豆瓣电影排行top250

    功能描述V1.0: 爬取豆瓣电影排行top250 功能分析: 使用的库 1.time 2.json 3.requests 4.BuautifulSoup 5.RequestException 上机实验 ...

  3. Oracle控制文件冗余

    1.备份参数文件.检查控制文件.检查磁盘组名 sqlplus / as sysdba !echo "create pfile='$HOME/pfile_$ORACLE_SID_`date + ...

  4. AWS 移动推送到iOS设备,Amazon Pinpoint

    前言 第一次对接aws,遇到的坑是真多.现在记录一下.本文主要用到的是[Amazon Pinpoint]推送. 开发人员的指南:https://docs.aws.amazon.com/zh_cn/pi ...

  5. echarts 中国地图 数据自动提示

    mounted() { // 首先每种图是根据series -->type决定的 eg:bar--柱状图 line 折线图 pie饼图 map地图等等三部曲 跟着走 // @第一步都是初始化 v ...

  6. Python3.0科学计算学习之绘图(四)

    绘制三维图: mplot3d工具包提供了点.线.等值线.曲面和所有其他基本组件以及三维旋转缩放的三维绘图. 1.散点的三维数据图 from mpl_toolkits.mplot3d import ax ...

  7. TerminateProcess实现关闭任意程序

    #include <Windows.h> #include <tchar.h> int WINAPI _tWinMain(HINSTANCE hInstance, HINSTA ...

  8. CLR 无法从 COM 上下文 0x208f68 转换为 COM 上下文 0x2090d8,这种状态已持续 60 秒

    问题: CLR 无法从 COM 上下文 0x208f68 转换为 COM 上下文 0x2090d8,这种状态已持续 60 秒.拥有目标上下文/单元的线程很有可能执行的是非泵式等待或者在不发送 Wind ...

  9. 灵雀云获邀加入CDF(持续交付基金会),成为中国区三大创始成员之一

    3月12日,在加州Half Moon Bay举行的开源领导者峰会(Open Leadership Summit 2019 )上,CDF(Continuous Delivery Foundation ) ...

  10. linux svn安装 及 常用命令

    安装 yum -y install subversion svnserve --version 显示版本信息,则表示安装成功 mkdir /home/svn 创建版本库目录 svnadmin crea ...