正则表达式的如何使用

简述:正则表达式主要用于文本的搜索,它表示了搜索文本的过滤条件。根据这些条件,对目标文本朱行进行匹配检查,最后对输出匹配到符合过滤条件的行。

使用:正确高效的使用正则表达式,需要掌握以下基本知识点

      

 1:语法 grep [OPTION] PATTERN FILE…..

       OPTION]:表示搜索的选项。其中

                    -v:显示不能被pattern匹配到的行

                         -i:表示忽略字符大小写

                         – o:表示仅仅显示匹配到的字符串

                         -A#:显示匹配到的行以及后几行

                         -B#:显示匹配到的行以及前几行

                          -C#:显示匹配到的行以及前后几行

            PATTERN:表示正则表达式,熟练写好所需要的正则表达式,需要熟练掌握正则表达式元字符

 

2 基本正则表达式元字符

一:字符匹配

. :匹配任意单个字符

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

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

[:alnum:]:字母和数字

[:alpha:]:字母

[:lower:]:小写字母

[:power:]:大写字母

[:digit:]:数字

[:blank:] 空白字符

[:space:]  包含范围比 blank更广

二:匹配次数

用在要指定次数的字符后面,用于指定前面的字符要出现的次数

*;;匹配前面的字符任意次,包括0

.*任意长度的任意字符

\? 匹配前面的字符0次或1

\+ 匹配前面的字符至少1

\{n\}匹配前面的字符n

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

\{,n\}匹配前面的字符至多n

\{m,\}匹配前面的字符至少m

三:位置锚定

^行首

$行尾

\< 词首

\>词尾

\<patten\>匹配整个单词

四:分组

\(\)将一个或多个字符捆绑在一起,当做一个整体进行处理

\(word\)


3 如何熟练使用正则表达式

     一:熟练掌握元字符所表示的意义

     二:记忆一些常用的表达式,比如说^[[:space:]]*$表示空行 \<word>\ 表示匹配到的某个单词

     三:linux的一些基础命令的掌握。比如说wc head tail cut sort uniq 和一些常用的查询命令 。

     四:多做练习,整理做题的思路。反过来检测知识不牢靠的点,后续再及时复习。

原创文章,作者:mapipi,如若转载,请注明出处:http://www.178linux.com/77492

(0)
mapipimapipi
上一篇 2017-06-04
下一篇 2017-06-04

相关推荐

  • 逻辑卷(LVM)管理实例详解

    LVM基本术语 下面是LVM需要了解的基本术语:    物理卷(PV physical volume): 它可以是物理硬盘上的分区,也可以是整块物理硬盘;  卷组(VG volume group): 建立在物理卷之上,一个卷组至少包括一个物理卷,可以动态增删物理卷;  逻辑卷(LV logical volume):建立…

    Linux干货 2016-09-01
  • Python内置数据结构——集合set

    集合 定义 set翻译为集合 collection翻译为集合类型,是一个较大的概念 set是一个可变的、无序的、不重复的元素组成的集合 set的元素要求必须可以hash,目前已学的不可hash的类型只有list、set 元素不可以索引 set可以迭代 set的初始化 set_1 =set() #表示定义一个空集合set_1 set_1 =set(iterab…

    Linux干货 2017-10-03
  • 第七周学习总结–系统启动流程

    写在前面 作为一个理工科的你,我相信你一定给自己或者给别人装过windows操作系统,作为windows操作系统都图形化了,因此我们可能很难去了解中间都发生了什么。比如使用U盘安装的时候,网上一大堆某某某U盘制作系统工具,按照网上的教程,制作完成以后,就可以在要装系统的电脑上点击电源键狂按F12(不同的电脑可能不同)进入BIOS设置了,然后就等着使用了。作为…

    2018-01-14
  • 2016-08-12博客作业

    德摩根定理       在命题逻辑和逻辑代数中,德摩根定律(或称德摩根定理)是关于命题逻辑规律的一对法则。奥古斯塔斯·德摩根首先发现了在命题逻辑中存在着下面这些关系: 非(P 且 Q)=(非 P)或(非 Q) 非(P 或 Q)=(非 P)且(非 Q)     …

    Linux干货 2016-08-15
  • DNS and BIND 配置指南

    前言     说来接触Linux也有一年了,BIND是我曾经学习RH系Linux接触的第一个服务,对我有着莫大的意义,当初差点因为这个服务难以配置而放弃Linux,今天学完马哥的bind相关系列视频之后,写一篇DNS and BIND的基础到进阶。 一、DNS的基础知识 DNS是什么? DNS(Domain Name …

    Linux干货 2016-03-21