基本正则表达式

城还是这座城,人已非故人

  • QQ拼音截图未命名12
  • 基本正则表达式
    • 字符匹配:
      • 匹配任意单个字符:.
      • 匹配指定范围内的任意单个字符:[](注意匹配规则,匹配上的字符不再做匹配,括号内如果有多个单个字符或者比如[a0-9c],表示匹配a或者0-9或者c),括号内输入点号[.]就是普通字符点
      • 匹配指定范围外的任意单个字符:[^]
      • [:alnum:] 字母和数字
      • [:alpha:] 代表任何英文大小写字符,亦即 A-Z, a-z
      • [:lower:] 小写字母 [:upper:] 大写字母
      • [:blank:] 空白字符(空格和制表符)
      • [:space:] 水平和垂直的空白字符(比[:blank:]包含的范围广)
      • [:cntrl:] 不可打印的控制字符(退格、删除、警铃…)
      • [:digit:] 十进制数字 [:xdigit:]十六进制数字
      • [:graph:] 可打印的非空白字符
      • [:print:] 可打印字符
      • [:punct:] 标点符号
    •  匹配次数:用在要指定次数的字符后面,用于指定前面的字符要出现的次数
      • 匹配其前面的字符0或多次:  * 如:a*b 表示a出现任意次后紧跟b
      • 匹配任意长度的字符:   .* 表示 . 出现任意次
      • 匹配其前面的字符一次或0次:\? 需要加“”或‘’
      • 匹配其前面的字符1次或多次:\+ 前面的字符至少出现1次
      • 匹配其前面的字符m次:\{m\}
      • 匹配其前面的字符至少m次,最多n次:\{m,n\} \{0,n\}最多n次;\{m,\}至少m次
    •  位置锚定:定位出现的位置
      • 锚定行首,此元字符后面的一个或多个字符必须出现在行首:^
      • 锚定行尾,此字符前面的一个或多个字符必须出现在行尾:$
        • ^PATTERN$:用模式来匹配整行
        • ^$ 或 ^[[:space:]]*$ :空白行
      • 锚定单词首部,表示\<后的字符必须是单词的开头(单词匹配时只有字母、数字和下划线算作单词的一部分,其他符号都不是)首部出现:\<或者\b
      • 锚定词尾,其后面的任意字符必须作为单词尾部出现:\>或者\b
        • 精确匹配单词:\<root\>
        • 匹配整行,不能匹配单词了:\<.*\>
        • 例:找出/etc/passwd文件中的两位数或三位数
          • # grep “\<[0-9]\{2,3\}\>”/etc/passwd如果不锚定词首词尾会出现3个数字以上的行
    • 分组:\(\) 将一个或多个字符捆绑在一起,当作一个整体进行处理,如:\(ab\)*  表示ab看作整体,ab可以出现任意次
      • 注意:分组括号中的模式匹配到的内容会被正则表达式引擎自动记录于内部的变量中,这些变量为后向引用
      • \1:引用第一个左括号以及与之对应的右括号所包括的所有内容
      • \2:引用第2个左括号以及与之对应的右括号所包括的所有内容
      • \3:引用第3个左括号以及与之对应的右括号所包括的所有内容

 

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/96521

(0)
DPingDPing
上一篇 2018-04-18 20:13
下一篇 2018-04-19 13:41

相关推荐

  • 随堂笔记1

    记马哥Linux运维课程第一周知识点(持续更新中) CPU 中央处理单元ROM 只读 不可变 只能使用,不能修改RAM 易失性 运行内存 处理的数据皆为0、1 内部转换为二进制 obase=2 output ibase=2 input 辅助存储器 硬盘 仓库 主存储器 车间 处理数据 机架式Rack服务器 1U=1.75英寸=44.45mm C/S结构 cl…

    Linux笔记 2018-07-22
  • 变量

    变量 echo $name 与 echo “$name” 假如变量是读取文件,前者会自动缩进成一行,后者保留原有格式 (umask=022,mkdir /f1)括号相当于开启一个临时子进程,能读取当前shall的变量等信息,但是进程号不变,命令结束后恢复刚才状态 局部变量,环境变量,只读变量(常量),位置变量,数组 局部变量:只在当前…

    Linux笔记 2018-04-15
  • shell脚本进阶—课堂总结

    循环、函数、会持续更新

    2018-05-10
  • 三剑客 sed

    三剑客之一

    Linux笔记 2018-08-07
  • linux基础之自动登陆和自动开启网卡设置

    Centos7.4设置自动登陆以及设置网卡开机自动启用功能 1、进入命令行模式,输入 nano /etc/gdm/custom.conf ,在[daemon]下添加2条命令,分别是 AutomaticLoginEnable=true AutomaticLogin=root 2、然后按住Ctrl+X退出并保存,接着选择Y,再按回车键即可保存更改,到这里设置自动…

    2018-03-29
  • 关于shell脚本编程的基础知识理解介绍

    shell:     Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。 shell脚本:是一种为shell编写的脚本程序,其编辑风格可以分为过程式和对象式。 过程式:是以指令为中心且数据服务于指令。 对象式:是以数据为中心且指令服务于数据。 shell基本编程概念和环境: She…

    2018-04-16