基本正则表达式

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

  • 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笔记 2018-04-01
  • Linux系统命令总结——文件管理篇

    整理了一些和文件管理有关的小命令、索引节点、链接文件、通配符,以及标准I/O的知识点,希望对各位有些许的帮助顺便也加深一下自己的记忆和理解。学如逆水行舟,不进则退。

    2018-03-30
  • lamp

    1.phpmyadmin 需要phpadmin包组和yum安装lamp 创建phpadmin配置文件 安装字符集包组 开启mysql服务 创建测试账号 编写测试phpmysql 最后开启httpd服务 测试成功 进行phpmyadmin 设置数据库账号 密码 登陆成功 测试成功 2.搭建wordpress 在phpmyadmin实验上进行 在phpmyadm…

    Linux笔记 2018-06-25
  • 构建WordPress

    所需要安装包: centos7,httpd,php,php-mysql,mariadb-server centos6,httpd,php(http的php模块包),php-mysql,mysql-server 包解释: php-common:php解释器安装包; php:httpd的模块安装包; php-mysql:php模块连接数据库的功能扩展包; php…

    Linux笔记 2018-03-31
  • Linux运维命令以及概念整理总结(4)

    1、grep
    2、正则表达式
    3、扩展正则表达式
    4、vim文本编辑工具

    2018-04-14
  • linux发行版之间的爱恨情仇

    千丝万缕,森罗万象

    Linux笔记 2018-05-13