通配符、正则表达式小计

基本通配符:

   
*:
匹配任意长度的任意字符;

   
?:
匹配任意的单个字符;

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

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

 

简单示例:

   
[0-9]
[a-z][0-9a-z][0-9A-Z]

 

特殊用法:

   
[[:lower:]]:
匹配小写;

   
[[:upper:]]:
匹配大写;

   
[[:alpha:]]:
匹配全部字母;

   
[[:digit:]]:
匹配数字;

   
[[:alnum:]]:
匹配全部字母和数字;

   
[[:space:]]:
匹配空白行;

   
[[:punct:]]:
匹配标点符号;

 

基本正则表达式:

    字符匹配:

       
.:
匹配任意单个字符;

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

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

 

    次数匹配:

       
*:
匹配前面的任意单个字符;

       
.*:
匹配所有字符;

       
\?:
匹配前面的字符0次或1次;其表示可有可无;

       
\+:
匹配前面的字符1次以上;其表示必须有一个;

       
\{m\}:
匹配其前面的字符m次;

       
\{m,n\}:
匹配其前面的字符m次至n次;

       
\{n,\}:
匹配其前面的字符n次以上;

       
\{,n\}:
匹配其前面的字符n次以下;

 

    位置锚定:

       
^:
行首锚定;

       
$:
行尾锚定;

       
^PATTERN$:

           
^$:
锚定空行;

           
^[[:space:]].*$:
锚定空白符的行;

 

    单词匹配:

       
\< \b:
词首锚定;

       
\> \b:
词尾锚定;

 

        注意:由非特殊字符串组成的连续字符称之为单词;

 

    词组匹配:

       
\(\):
单词匹配;其引用方法为:

           
\1:
表示第一个词组;

           
\2:
表示第二个词组;

           
\3:
表示第三个词组;

            

 

扩展正则表达式:

    次数匹配:

       
?:
匹配前面的字符0次或1次;其表示可有可无;

       
+:
匹配前面的字符最少1次;其表示必须有一个;

       
{m}:
匹配其前面的字符m次;

       
{m,n}:
匹配其前面的字符m次至n次;

       
{n,}:
匹配其前面的字符n次以上;

       
{,n}:
匹配其前面的字符n次以下;

 

    词组匹配:

       
():
单词匹配;其引用方法为:

           
\1, \2, \3

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

(0)
oranixoranix
上一篇 2017-03-15
下一篇 2017-03-16

相关推荐

  • Linux网络管理相关工具

      Linux本身提供了许多用于网络测试、网络排错、网络状态分析的工具,下面来看几个比较常用的工具。   一、ping命令   ping命令是利用ICMP协议还测试网络的连通性。   命令格式:ping [option] IP     常用选项:       -c #:…

    Linux干货 2016-01-14
  • 马哥教育网络班21期+第13周课程练习

    1、建立samba共享,共享目录为/data,要求:(描述完整的过程)   1)共享名为shared,工作组为magedu;   2)添加组develop,添加用户gentoo,centos和ubuntu,其中gentoo和centos以develop为附加组,ubuntu不属于develop组;密码均为用户名;   3)添加s…

    Linux干货 2016-08-24
  • 描述器

    Edit 描述器 |[Descriptors] 描述器的表现 用到3个魔术方法:__get__()、__set__()、__delete__() 方法用法: object.__get__(self,instance,owner) object.__set__(self,instance,value) object.__delete__(self,instan…

    Linux干货 2017-11-29
  • LInux 网络及相关进程作业管理

    马哥教育网络班23期+第四周课堂练习 Linux 网络及相关进程作业管理 一、概述 1.1 简介: 进入Linux学习第四周,这一周讲的知识点非常的多,也特别的碎,感觉这一周的内容掌握起来有很大的难度,主要是要记的命令很多,包括yum 的一些安装的命令,配置yum 源,相关的网络的命令和参数,还有就是进程管理和作业管理中的相关工具的使用,最后还讲了bash脚…

    Linux干货 2016-10-24
  • N25期–第八周作业

    1、写一个脚本,使用ping命令探测172.16.250.1-172.16.250.254之间的所有主机的在线状态; 在线的主机使用绿色显示; 不在线的主使用红色显示; #!/bin/bash declare -i i=1 hostping(){     if ping -W&n…

    Linux干货 2017-02-27
  • Linux的发展史

    引言: 开源是什么?什么是Unix 、Linux ?这两种操作系统又有什么关联?    大家当前在用最常见的电脑系统是眼前的Windows ,但为何我们要花学习Linux 的发展史? 通过下面的介绍,我们能大致了解互联网发展的一些问题,以及Linux和Unix的基本概念、历史、发展情况。 一、操作系统介绍 内核(kernel)负责控制硬…

    Linux干货 2016-10-19

评论列表(1条)

  • 马哥教育
    马哥教育 2017-03-20 09:21

    如果能有一些示例就更好了哦