通配符、正则表达式小计

基本通配符:

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

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

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

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

 

简单示例:

   
[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

相关推荐

  • N22第二周作业

    1.Linux上文件管理类命令有哪些,其常用的使用方法及其相关示列演示。  常用文件管理类命令有:cp, mv ,rm. (1)cp:copy (2)mv:move (3) rm:remove   2、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示 3、请使用命令行展开功能来完成以下练习:   &nb…

    Linux干货 2016-08-22
  • awk实际使用案例

    知识点: 1)数组 数组是用来存储一系列值的变量,可通过索引来访问数组的值。 Awk中数组称为关联数组,因为它的下标(索引)可以是数字也可以是字符串。 下标通常称为键,数组元素的键和值存储在Awk程序内部的一个表中,该表采用散列算法,因此数组元素是随机排序。 数组格式:array[index]=value 1、Nginx日志分析     …

    Linux干货 2017-04-09
  • 软件包管理器之二——YUM介绍及使用

    一、前言     之前我们介绍了RPM的应用(详细请查看http://www.178linux.com/archives/6383),发觉RPM安装软件有一个很繁琐的问题,那就是包与包之间的依赖关系,如果想正常安装和使用软件程序,就必须根据要求一步一步的解决软件之间的依赖关系。那么如果程序使用的包很多,将会很消耗使用人…

    Linux干货 2015-07-21
  • 运维工程师技能需求排行

    这是我今天在拉勾网搜索运维,翻完了4四页也招聘信息之后得到的,我的目的是想要看看之后的学习,哪个更应该成为重点,有些在我意料之中,有些还真的没想到,算是努力了一个小时的收获吧,分享给大家。
    注意:其中的看法仅代表个人观点,很多都是依靠我自己的学习经验和工作经验累积的

    Linux干货 2017-12-12
  • SecureCRT 8.0的安装及Linux基本命令介绍

    在CentOS虚拟中安装并打开图形界面后,可以在图形界面和命令行界面之间任意切换。在打开终端后输入init3可以切换至命令行界面,输入init5返回到图形界面。 这里我们用SecureCRT 8.0来远程的对虚拟机进行操作,对于SecureCRT 8.0的安装步骤就不详细介绍,简单介绍下如何连接到CentOS。 1. 2.点击完成。   &nbsp…

    2017-07-13
  • 高级文件系统管理

    高级文件系统管理 本章内容  设定文件系统配额  设定和管理软RAID设备  配置逻辑卷  设定LVM快照  btrfs文件系统 配置配额系统 综述 • 在内核中执行 • 以文件系统为单位启用 • 对不同组或者用户的策略不同    &nb…

    Linux干货 2016-09-01

评论列表(1条)

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

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