正则表达式

  • 使用grep命令测试正则表达式,高级正则符号需要使用egrep命令或grep -E命令来进行匹配
  • grep命令不能直接使用\d,\w,\s来达到匹配效果
  • 元素 : 由多个连续的字符或单个字符组成,被视作一个整体,下一个正则符号修饰效果会作用于整个元素
  1. 利用正则符号匹配文件内容信息
  2. 正则符号经常出现在各种开发语言中, python java php
  3. 正则符号经常被三剑客命令使用

测试文本内容

1234567890
abcdefghij
12345abcde

12345 67890
abcde fghij
12345 abcde
.*?

基础正则符号

  • ^ : 代表的是行的开头
  • $ : 代表的是行的结尾
  • ^$ : 匹配空行
  • . : 匹配任意一个字符
  • * : 匹配前一个元素出现零次或多次
  • .* : 匹配任意字符串
  • \ : 将特殊符号转义成普通字符进行识别,将没有意义的字符转义为有特殊意义的字符
  • [] : 匹配[]内的任意单个字符,[]内的字符被视为一个元素,可以使用[0-9a-zA-Z_]匹配数字大小写字母下划线的内容
  • [^] : 匹配不包含[^]内的任意单个字符,[^]内的字符被视为一个元素,可以使用[^0-9a-zA-Z_]匹配不包含数字大小写字母下划线的内容

QQ截图20191119153603.jpg

高级正则符号

  • + : 匹配前一个元素出现一次或多次
  • | : 同时匹配|两侧的元素,可以多个|同时使用
  • () : 将()内的内容视为一个元素,()匹配到的内容可以被单独调用,例如\1调用第一个()匹配到的内容,\2调用第二个()匹配到的内容
  • {} : 指定之前一个元素连续匹配的次数 {1,2}最少出现1次,最多出现2次 {,5}最多出现5次 {3,}最少出现3次 {6}出现6次
  • ? : 匹配前一个元素出现零次或一次

QQ截图20191119154839.jpg