“正则表达式基础”实验报告

grep命令与正则表达式
  1. 一、搜寻特定字符串"the"
  • -n :顺便输出行号
  • -v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行! 这两个用到的情况比较多,因为行号可以负责定位,而反向是我们查找有用字符缩小范围的最好方式,后面的这个例子:
grep -v '^$' /etc/insserv.conf | grep -v '^#'
copy

可以应用在查找有用的配置信息,需要修改的配置信息时候,会很快的列出来需要修改的内容因为已经过滤掉空行,和以#开始的注释这样就方便了我们查看主要信息.

  1. 四、任意一个字符: " . "(小数点)与重复字符 “ * ”(星号) 。

这个地方没有?号,只能用.来代替

grep -n 'a.ou.' regular_express.txt
copy

'a.ou.' : 小数点表示任意一个字符,一个小数点只能表示一个未知字符。 (星号):代表重复前面 0 个或者多个字符。 e: 表示具有空字符或者一个以上 e 字符。 ee,表示前面的第一个 e 字符必须存在。第二个 e 则可以是 0 个或者多个 e 字符。 eee,表示前面两个 e 字符必须存在。第三个 e 则可以是 0 个或者多个 e 字符。 ee*e :表示前面的第一个与第三个 e 字符必须存在。第二个 e 则可以是 0 个或者多个 e 字符。 **总结: ^word 表示带搜寻的字符串(word)在行首

word$ 表示带搜寻的字符串(word)在行尾

.(小数点) 表示 1 个任意字符

\ 表示转义字符,在特殊字符前加\会将特殊字符意义去除

  •    表示重复 0 到无穷多个前一个 RE(正则表达式)字符
    
    copy

[list] 表示搜索含有 list 的字符串

[n1-n2] 表示搜索指定的字符串范围,例如[0-9] [a-z] [A-Z]等

[^list] 表示反向字符串的范围,例如[0-9]表示非数字字符,[A-Z]表示非大写字符范围

{n,m} 表示找出 n 到 m 个前一个 RE 字符

{n,} 表示 n 个以上的前一个 RE 字符**

最新评论
暂无评论~