正则表达式目标

正则表达式单字符:

特定字符

范围字符:单个字符[ ] :代表查找单个字符,括号内为字符范围

  数字字符:[0-9],[259]

查找 0~9 和 2、5 、9 中的任意一个字符

  小写字符:[a-z]

  大写字符:[A-Z]

  反向字符:[^0-9],[^0]

         反向字^必须在 [ ]内才表示取反

  任意字符:代表任何一个字符:‘.’

        注意'[.]'和'\.'的区别:代表查找 . 本身这个字符

单字符小结:

  •  特定字符 ‘ X’
  • 范围字符 [ ] [^]
  • 任意字符 .

正则表达式其他字符

  • 边界字符: 头尾字符 ,注意以行作为边界而不是字符串

   ^ : ^luke  表示以luke这个单词开始的行,注意与[^]的区别;

luke@luke-virtual-machine:~$ grep '^root' passwd
          root:x:0:0:root:/root:/bin/bash

      $  :  false$ 表示以false单词结尾的行

       ^$ : 表示空行

  • 元字符(代表普通字符或特殊字符)

        \w : 匹配任何字类字符,包括下划线([A-Za-z0-9])

      \W : 匹配任何字类字符,包括下划线([A-Za-z0-9])

      \b:代表单词的分隔

匹配一个单词边界,也就是指单词和空格间的位置,例如: 'er\b' 可以匹配"never" 中的 'er',但不能匹配 "verb" 中的'er'。

正则表达字符组合

  • 重复

     * : 零次或多次匹配前面的字符或子表达式,字表达是用\(\)括起来,记住加反斜杠转义,\(se\)匹配se 0次或则多次;

     + : 一次或多次匹配前面的字符或子表达式;

     ?: 零次或一次匹配前面的字符或子表达式;

  • 重复特定次数:{n,m} ,匹配前面的字符或子表达式 最少n次最多m次;
  • 任意字符串的表示:.*

     例如:^r.* ,表示以r开头的任意字符串

  • 逻辑的表示

    | : 'bin/\(false\|true\)' 逻辑或

实例:

    匹配4~10位的QQ号: grep '^[0-9]\{4,10\}$' qq.txt

    匹配15位到18位身份证号(支持带X) :^[1-9]([0-9]{13}|[0-9]{16})[0-9Xx]$

                     linux: grep '^[1-9]\([0-9])\{13\}\|[0-9]\{16\}\)[0-9Xx]$'

    匹配密码,要求字母数字以及下划线组成 \w+

                      linux: '^\w\+$'

正则表达式总结:

linux 三大利器 grep sed awk 正则表达式的更多相关文章

  1. linux 三大利器 grep sed awk sed

    sed主要内容和原理介绍 sed 流处理编辑器 sed一次处理一行内容,读入一行处理一行 sed不改变文件内容(除非重定向) sed 命令行格式 $ sed [options] 'command' f ...

  2. [svc]linux正则实战(grep/sed/awk)

    企业实战: 过滤ip 过滤出第二行的 192.168.2.11. eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 ine ...

  3. linux 三剑客命令(grep,sed ,awk)

    grep 命令 :强大的文本’搜索’工具    1.grep   -n   'word'  file_name 在file_name文件中找到word所在的所有行并显示.-n 为显示行号.     2 ...

  4. Linux三剑客grep/sed/awk

    grep/sed/awk被称为linux的“三剑客” grep更适合单纯的查找或匹配文本: sed更适合编辑匹配到的文本: awk更适合格式化文本,对文本进行较复杂各式处理: Grep --color ...

  5. linux三剑客grep|sed|awk实践

    最好先学习正则表达式的基本用法,以及正则表达式BREs,EREs,PREs的区别 此坑待填 grep sed awk

  6. Linux三剑客:grep、awk、sed

    ---------------------------------------------------------------------------------------------------- ...

  7. 【Linux】 字符串和文本处理工具 grep & sed & awk

    Linux字符串&文本处理工具 因为用linux的时候主要用到的还是字符交互界面,所以对字符串的处理变得十分重要.这篇介绍三个常用的字符串处理工具,包括grep,sed和awk ■ grep ...

  8. Linux文本过滤命令grep、awk、sed

    grep的使用: 一.grep一般格式: grep [选项] 基本正则表达式 [文件] 这里的正则表达式可以为字符串.在grep命令中输入字符串参数时,最好将其用双引号括起来.调用变量时也可以使用双引 ...

  9. Linux 正则表达式 vi, grep, sed, awk

          1. vi 表示内容的元字符 模式 含义 . 匹配任意字符 [abc] 匹配方括号中的任意一个字符.可以使用-表示字符范围,如[a-z0-9]匹配小写字母和阿拉伯数字. [^abc] 在方 ...

随机推荐

  1. select2 使用教程

    用了这么久的Select2插件,也该写篇文章总结总结.当初感觉Select2不是特别好用,但又找不到比它更好的下拉框插件. 在我的印象里Select2有2个版本,最新版本有一些新的特性,并且更新了一下 ...

  2. box-shadow向元素添加阴影效果

    div{ box-shadow: 10px 10px 5px #888888;} 语法:box-shadow: h-shadow v-shadow blur spread color inset; 值 ...

  3. SharePoint 2007 form.js兼容性修改

    因SharePoint 2007发布时微软的主要IE的版本是7,所以其中不少的JS是不规范的,在新的IE8 9 10 11等版本中碰到不少的问题,以下是部分的修复,记录下,不断完善. ()语法问题 d ...

  4. Hudson-ci/Installing Hudson Windows Service---官方文档

    < Hudson-ci Hudson Continuous Integration Server Website Download Community Mailing List • Forums ...

  5. Datenbanksystem

    1.Einführung 1.1 Die Einführung des Datenbanksystem Das Begriff Daten:Sie verwendet als Beschreibung ...

  6. 手把手教你使用 VuePress 搭建个人博客

    手把手教你使用 VuePress 搭建个人博客 有阅读障碍的同学,可以跳过第一至四节,下载我写好的工具包: git clone https://github.com/zhangyunchencc/vu ...

  7. &&和||的操作符妙用(javascript)

    前言 &&逻辑与和||逻辑或,它们既可以返回一个布尔值,又可以返回指定操作数的值,这个值是非布尔型的. MDN api参考 Section1 布尔运算 首先,我们明确一下基础知识. 能 ...

  8. 根据Time Protocol从NIST Internet Time Servers获取准确时间

    Time Protocol(RFC-868)是一种非常简单的应用层协议:它返回一个32位的二进制数字,这个数字描述了从1900年1月1日0时0分0秒到现在的秒数,服务器在TCP的37号端口监听时间协议 ...

  9. c#参数修饰符-ref

    ref 关键字通过引用传递参数. 方法定义和调用方法必须显式使用ref关键字: 调用方法时参数必须初始化: 参数中可以声明多个ref修饰的参数. 例: public void UseRef( ref ...

  10. [javaSE] GUI(jar包双击运行)

    首先应该在java文件中定义包名,package 包名 带包编译成class文件 切换到目录下,使用jar -cvf xx.jar 包名,就是把那个包放到xx.jar包里面 此时双击会报错,找不到要执 ...