通配符、正则表达式小计

基本通配符:

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

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

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

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

 

简单示例:

   
[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 19:09
下一篇 2017-03-16 14:07

相关推荐

  • 查找 -数据结构

    几种查找算法:顺序查找,折半查找,分块查找,散列表 一、顺序查找的基本思想:  从表的一端开始,向另一端逐个按给定值kx 与关键码进行比较,若找到,查找成功,并给出数据元素在表中的位置;若整个表检测完,仍未找到与kx 相同的关键码,则查找失败,给出失败信息。 说白了就是,从头到尾,一个一个地比,找着相同的就成功,找不到就失败。很明显的缺点就是查找效…

    Linux干货 2015-07-28
  • grep是个什么鬼

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

    Linux干货 2017-04-17
  • Linux 基础(6)—— 权限

    修改所属人,所属组                文件的 r w x 权限            修改文件的权限chmod          umask &nb…

    2017-07-27
  • 马哥教育网络班20期+第2周课程练习

    开启我的博客之行 艰难的学习了一周,现在来写写作业回顾一下,这周我都学习了什么? 1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 文件管理命令有:cp、mv、rm    复制命令:cp       cp [OPTION]… [-T] SOURCE DEST &nbsp…

    Linux干货 2016-06-23
  • 磁盘管理,软raid,脚本基础

    1、创建一个10G分区,并格式为ext4文件系统; (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl; mke2fs -t ext4 -L MYDATA -m 2 /dev/sdb tune2fs -o acl /dev/sdb (2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行…

    Linux干货 2017-10-25
  • linux网络属性管理

    Linux网络属性配置 计算机网络:TCP/IP:协议栈(使用)ISO,OSI:协议栈(学习) MAC:Media Access Control48bits:ICANN:24bits, 2^24地址块:2^24 网桥(bridge):MAC地址表静态指定:动态学习:根据原地址学习; 交换机(switch):多端口网桥; IP(Internet protoco…

    Linux干货 2017-10-14

评论列表(1条)

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

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