正则表达式

一、匹配操作符

  • ‘\’
    转义字符
  • .
    匹配任意单个字符
  • []
    字符序列单字符占位
    [1234a] 连续字符
    [^12] 取反
    [a-k] 区间
  • ^
    行首
  • $
    行尾
  • <, > ,<abc
    单词首尾边界
  • |
    连接操作符:或,满足其中一个
  • (,)
    选择操作符
  • \n
    n代表数字,引用选择操作符匹配结果

二、重复操作符

  • ? 匹配0到1次
  • ‘*’ 匹配0到多次
  • ‘+’ 匹配1到多次
  • {n}匹配n次
  • {n,m}匹配n到m次

三、与扩展正则表达式的区别 grep basic

扩展表达式需要加\转义grep才可以识别, 或者grep直接加 E

四 匹配任意字符

  • .*

五、示例

创建一个文件grep.txt,填入下面内容

ooxx12121212ooxx
ooxx 12121212
oox 12121212
1212 ooxx 1212
oo3xx
oo4xx
ooWxx
oomxx
$ooxx
oo1234xx
ooxyzxx

查找指定内容

  • 查找包含 ooxx单词的行
grep "\<ooxx\>" grep.txt
  • ooxx开头行
grep "^ooxx" grep.txt
  • ooxx单词开头行
grep "^ooxx\>" grep.txt
  • ooxx中间出现一个数字的行
grep "oo[0-9]xx" grep.txt
  • ooxx中间出现多个数字的行
grep - E "oo[0-9]+xx" grep.txt
  • ooxx中间出现4个数字的行
grep -E "oo[0-9]{4}xx" grep.txt
  • ooxx......ooxx:ooxx中间包含未知元素后在以ooxx结尾
grep -E "ooxx.*ooxx" grep.txt

如果结尾变成xxoo,可以使用()引用(适用于正则较长的场景)

grep -E "(oo)(xx).*\1\2" grep.txt
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容