正则表达式的如何使用

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

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

      

 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

相关推荐

  • gzip压缩输出

    一、gzip介绍          gzip是GNU zip的缩写,它是一个GNU自由软件的文件压缩程序,也经常用来表示gzip这种文件格式。软件的作者是Jean-loup Gailly和Mark Adler。1992年10月31日第一次公开发布,版本号是0.1,目前的稳定版本是…

    Linux干货 2015-07-29
  • Linux之bash shell脚本编程入门篇(二)以及文件查找和压缩的使用

    bash shell脚本编程入门篇(二) read命令的使用 作用:     使用read来把输入值分配给一个或多个shell变量:         -p指定要显示的提示      &nbs…

    Linux干货 2016-08-18
  • HA cluster应用—CoroSync+Pacemaker

    HA cluster应用——CoroSync v2 (quorum system)+Pacemaker (standalone daemon)+ crmsh/pcsh corosync简述: Corosync是OpenAIS发展到Wilson版本后衍生出来的开放性集群引擎工程。可以说Corosync是OpenAIS工程的一部分。OpenAIS从openais…

    2016-11-27
  • CentOS下搭建LAMP

    实验:centos7.3实现lamp应用wordpress环境 host1 httpd,php  host2 mariadb1 yum install httpd php php-mysqlyum install mariadb-serversystemctl start httpdsystemctl start mariadb 2 创建数据库及用户mysq…

    2017-10-16
  • 使用pyenv管理不同版本的python

    安装: 安装: $ curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash 在你的shellrc文件中添加: export PATH=”$HOME/.pyenv/bin:$PATH” eval “$(pyenv init …

    Linux干货 2015-03-12
  • LVS中nat和dr的原理与用法简述

      LVS中nat和dr的原理与用法简述 lvs-nat:   多目标IP的DNAT,通过将请求报文中的目标地址和目标端口修改为某挑出的RS的RIP和PORT实现转发; (1)RIP和DIP必须在同一个IP网络,且应该使用私网地址;RS的网关要指向DIP; (2)请求报文和响应报文都必须经由Director转发;Director…

    Linux干货 2016-10-30