基本正则表达式

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

  • 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

相关推荐

  • linux网络相关

    网络配置 重启失效 ifconfig 网络地址显示,地址配置 ifconfig 接口 IP/netmask [up|down] [-|+]promisc up 打开 down 关闭 -promisc关闭混杂模式 +promisc打开混杂模式,混杂模式用来监听网络数据 ifconfig eth0:1 ip/netmask route 路由管理命令 查看路由 -…

    Linux笔记 2018-05-06
  • VMware workstations中的虚拟机无法正常开机

    VMware workstations 无法连接MKS vmware上的显示一直黑屏

    2018-03-31
  • 第六周学习

    Linux学习第六周

    2018-08-04
  • 第三周作业20180528

    1、 列出登录用户 登录用户去重 2、 显示最后登录用户信息 3、 查看使用最多的SHELL 4、 5 6 7、 8、 9、 10、    

    2018-05-28
  • Linux文件系统简介

    “一切皆是文件”是Linux基本哲学思想之一,可见文件系统在linux系统中的重要性,学好文件系统将为以后深入研究与学习Linux系统奠定良好的基础。

    2018-03-30
  • 第二周

    第二周: Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 1 touch   可以创建一个空的新文件,若文件存在改变文件时间戳。 2 cat     查看文件内容,一次性输出所有内容, 如cat  filename -n :输出所有行编号 -b 对非空输出行号 3 more  可以分屏显示  按回车翻下一屏 4 less   可以分…

    Linux笔记 2018-07-02