正则表达式的如何使用

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

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

      

 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

相关推荐

  • 网络21期第十周博客作业

    1、请详细描述CentOS系统的启动流程(详细到每个过程系统做了哪些事情) Centos6启动流程:       POST加电自检 —> BOOT Sequence —> 加载内核启动系统    &n…

    Linux干货 2016-09-15
  • grep是个什么鬼

    正则表达式   一个正则表达式是一个描述了一个字符串集合的模式。正则表达式的构造类似于算术表达式,使用各种各样的操作符来将更小的表达式连在一起。 Grep能理解两种不同版本的正则表达式语法:“basic”和“extended”。在GNU grep中,两种语法可以实现的功能是没有区别的。在其他实现中,基本(basic)正则表达式表达能力要弱一点。下面…

    Linux干货 2017-04-17
  • linux树状结构

    linux 目录结构   /:根目录,一般根目录下只存放目录,不要存放文件,/etc、/bin、/dev、/lib、/sbin应该和根目录放置在一个分区中 /bin:/usr/bin:可执行二进制文件的目录,如常用的命令ls、tar、mv、cat等。 /boot:放置linux系统启动时用到的一些文件。/boot/vmlinuz为linux的内核文…

    Linux干货 2016-08-05
  • 脚本编程部分_第十周练习

    Q1:写一个脚本: (1) 能接受四个参数:start, stop, restart, status;start: 输出“starting 脚本名 finished.”其余参数类似; (2) 其它任意参数,均报错退出; #!/bin/bash # read -p "The following choices&…

    Linux干货 2017-01-01
  • Because LVM so cattle(Logical Volume Manager)

    LVM: Logical Volume Manager         LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。 …

    Linux干货 2016-08-29
  • 进程管理常用命令

    Linux系统上的进程查看及管理工具:pstree,ps,pidof,pgrep,top,htop,glances,pmap,vmstat,dstat,kill,pkill,job,bg,fg,nohup,nice,renice,killall,…CentOS 5 :SysV initCentOS 6 :upstartCentOS 7 :syst…

    Linux干货 2017-05-17