正则表达式grep, egrep, fgrep

2023-12-06 19:32

本文主要是介绍正则表达式grep, egrep, fgrep,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

grep,egrep,fgrep : print lines matching a pattern

1.grep :

  grep [options] PATTERN FILE...

  PATTERN由元字符和和普通字符组成

  -i : --ignore-case , 忽略大小写

  -o : --only-matching, 只显示所匹配到的字符,二不是整行

  -n : --line-number, 输出所匹配行的行号

  -v : --invert-match, 显示除匹配行外的所有行

  -E : --extended-regexp, egrep

  -F : --fixed-strings, fgrep

  -P : --per-regexp

  -A NUM : --after-context, 显示匹配行后NUM行

  -B NUM: --before-context,显示匹配行强NUM行

  -C NUM: --context,显示匹配行前、后NUM行

  元字符

    匹配字符:

      . : 匹配任意单个字符

      [],[^] : 匹配指定的单个字符

        [0-9], [[:digit:]] : 匹配单个数字

        [[:alpha:]] : 匹配单个大、小写字母

        [[:lower:]] : 匹配单个小写字母

        [[:upper:]] : 匹配单个大写字母

        [[:alnum:]] : 匹配单个数字或字母

        [[:bank:]] : 匹配单个空白字符

        [[:punct:]] : 匹配标点符号

        [[:contrl:]] : 匹配当控制字符

        [[:xdigit:]] : 匹配单个16进制数

    匹配次数:用来指定前面的字符出现的次数

      * : 任意次数,包括0次

      \+ : 至少一次

      \? : 0次或1次,前面的字符可有,可无

      \{m\}, \{0,n\}, \{m,n\}, \{m,\} : 分别指m次,最多n次,m-n次,最少m次

      .* : 任意长度,任意字符

    位置锚定:

      ^ : 行首锚定,模式左侧

      $ : 行尾锚定,模式右侧

      \< : 词首锚定,单词模式左侧,单词指由数字和字母构成的字符串

      \> : 词尾锚定,单词右侧

        ^PATTERN$, 匹配整行只有指定的模式

        ^$ : 空行

        ^[[:blank:]]$ : 整行无可见字符

        \<word\> : 匹配整个单词

    分组

        

将任意个字符用括号括起来做一个整体进行匹配

      后向引用:应用前面分组括号所匹配的内容,非模式本身, \1,\2 ...

          

.*\1 : 匹配第一个括号所匹配的内容

    

2. egrep : 等同于 grep -E 

  egrep [options] PATTERN FILE...

  PATTERN由元字符和和普通字符组成

  -i : --ignore-case , 忽略大小写

  -o : --only-matching, 只显示所匹配到的字符,二不是整行

  -n : --line-number, 输出所匹配行的行号

  -v : --invert-match, 显示除匹配行外的所有行

  -A NUM : --after-context, 显示匹配行后NUM行

  -B NUM: --before-context,显示匹配行强NUM行

  -C NUM: --context,显示匹配行前、后NUM行

  PATTERN由元字符和和普通字符组成

  元字符

    匹配字符:

      . : 匹配任意单个字符

      [],[^] : 匹配指定的单个字符

        [0-9], [[:digit:]] : 匹配单个数字

        [[:alpha:]] : 匹配单个大、小写字母

        [[:lower:]] : 匹配单个小写字母

        [[:upper:]] : 匹配单个大写字母

        [[:alnum:]] : 匹配单个数字或字母

        [[:bank:]] : 匹配单个空白字符

        [[:punct:]] : 匹配标点符号

        [[:contrl:]] : 匹配当控制字符

        [[:xdigit:]] : 匹配单个16进制数

    匹配次数:用来指定前面的字符出现的次数

      * : 任意次数,包括0次

      + : 至少一次

      ? : 0次或1次,前面的字符可有,可无

      {m}, {0,n}, {m,n}, {m,} : 分别指m次,最多n次,m-n次,最少m次

      .* : 任意长度,任意字符

    位置锚定:

      ^ : 行首锚定,模式左侧

      $ : 行尾锚定,模式右侧

      \< : 词首锚定,单词模式左侧,单词指由数字和字母构成的字符串

      \> : 词尾锚定,单词右侧

        ^PATTERN$, 匹配整行只有指定的模式

        ^$ : 空行

        ^[[:blank:]]$ : 整行无可见字符

        \<word\> : 匹配整个单词

    分组

      () 将任意个字符用括号括起来做一个整体进行匹配

      后向引用:应用前面分组括号所匹配的内容,非模式本身, \1,\2 ...

        (th).*\1 : 匹配第一个括号所匹配的内容

3.fgrep : 不支持正则表达式, 仅匹配指定的字符串

  fgrep [optings] PATERN File...

Andraw|朱标

这篇关于正则表达式grep, egrep, fgrep的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/463047

相关文章

Python正则表达式匹配和替换的操作指南

《Python正则表达式匹配和替换的操作指南》正则表达式是处理文本的强大工具,Python通过re模块提供了完整的正则表达式功能,本文将通过代码示例详细介绍Python中的正则匹配和替换操作,需要的朋... 目录基础语法导入re模块基本元字符常用匹配方法1. re.match() - 从字符串开头匹配2.

Java 正则表达式的使用实战案例

《Java正则表达式的使用实战案例》本文详细介绍了Java正则表达式的使用方法,涵盖语法细节、核心类方法、高级特性及实战案例,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要... 目录一、正则表达式语法详解1. 基础字符匹配2. 字符类([]定义)3. 量词(控制匹配次数)4. 边

Linux grep 命令的使用指南

《Linuxgrep命令的使用指南》本文给大家介绍Linuxgrep命令的使用指南,包括基础搜索语法、实践指南,感兴趣的朋友跟随小编一起看看吧... 目录linux grep 命令全面使用指南一、基础搜索语法1. 基本文本搜索2. 多文件搜索二、常用选项详解1. 输出控制选项2. 上下文控制选项三、正则表达

JavaSE正则表达式用法总结大全

《JavaSE正则表达式用法总结大全》正则表达式就是由一些特定的字符组成,代表的是一个规则,:本文主要介绍JavaSE正则表达式用法的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录常用的正则表达式匹配符正则表China编程达式常用的类Pattern类Matcher类PatternSynta

Python中re模块结合正则表达式的实际应用案例

《Python中re模块结合正则表达式的实际应用案例》Python中的re模块是用于处理正则表达式的强大工具,正则表达式是一种用来匹配字符串的模式,它可以在文本中搜索和匹配特定的字符串模式,这篇文章主... 目录前言re模块常用函数一、查看文本中是否包含 A 或 B 字符串二、替换多个关键词为统一格式三、提

python常用的正则表达式及作用

《python常用的正则表达式及作用》正则表达式是处理字符串的强大工具,Python通过re模块提供正则表达式支持,本文给大家介绍python常用的正则表达式及作用详解,感兴趣的朋友跟随小编一起看看吧... 目录python常用正则表达式及作用基本匹配模式常用正则表达式示例常用量词边界匹配分组和捕获常用re

Linux基础命令@grep、wc、管道符的使用详解

《Linux基础命令@grep、wc、管道符的使用详解》:本文主要介绍Linux基础命令@grep、wc、管道符的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录grep概念语法作用演示一演示二演示三,带选项 -nwc概念语法作用wc,不带选项-c,统计字节数-

正则表达式r前缀使用指南及如何避免常见错误

《正则表达式r前缀使用指南及如何避免常见错误》正则表达式是处理字符串的强大工具,但它常常伴随着转义字符的复杂性,本文将简洁地讲解r的作用、基本原理,以及如何在实际代码中避免常见错误,感兴趣的朋友一... 目录1. 字符串的双重翻译困境2. 为什么需要 r?3. 常见错误和正确用法4. Unicode 转换的

Python正则表达式语法及re模块中的常用函数详解

《Python正则表达式语法及re模块中的常用函数详解》这篇文章主要给大家介绍了关于Python正则表达式语法及re模块中常用函数的相关资料,正则表达式是一种强大的字符串处理工具,可以用于匹配、切分、... 目录概念、作用和步骤语法re模块中的常用函数总结 概念、作用和步骤概念: 本身也是一个字符串,其中

Java 正则表达式URL 匹配与源码全解析

《Java正则表达式URL匹配与源码全解析》在Web应用开发中,我们经常需要对URL进行格式验证,今天我们结合Java的Pattern和Matcher类,深入理解正则表达式在实际应用中... 目录1.正则表达式分解:2. 添加域名匹配 (2)3. 添加路径和查询参数匹配 (3) 4. 最终优化版本5.设计思