博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
grep及正则表达式
阅读量:6229 次
发布时间:2019-06-21

本文共 1178 字,大约阅读时间需要 3 分钟。

grep及正则表达式

正则表达式(REGular EXPression,REGEXP)是对字符串和特殊字符(元字符)操作的一种逻辑公式,使用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。通常被用来检索、替换那些符合某个模式的文本。

正则表达式又分为基本正则表达式(Basic REGEXP)和扩展正则表达式(Extended REGEXP)。

常见的用途就是用来比对垃圾邮件。

万用字符

列举一些万用字符,跟正则表达式不通。

  • *:任意长度的任意字符
  • ?:任意单个字符
  • []:括号内的单个字符

    • [abcd]:可以是a,b,c,d中任何一个,但必须有
    • [0-9]:可以是0到9的任何一个数字,但必须有
  • [^]:非括号内字符的单个字符

正则表达式POSIX字符类

特殊符号 代表意义
[:alnum:] 0-9,a-z,A-Z
[:alpha:] a-z,A-Z
[:digit:] 0-9
[:xdigit:] 任何十六进制数字
[:lower:] a-z
[:upper:] A-Z
[:cntrl:] ASCII控制字符(ASCII 0~31 和 ASCII 127)
[:print:] 任何可打印字符
[:punct:] 标点符号
[:blank:] 空格或制表符([\t ])
[:graph:] 除空白字符外的其他字符
[:space:] 任何空白字符,包括空格([\f\n\r\t\v ])

grep

grep [OPTIONS] PATTERN [FILE...]

  • -i 忽略字符大小写的差别
  • -v:显示没有被模式匹配到的行
  • -o:只显示被模式匹配到的字符串
  • -E:使用扩展正则表达式 egrep
  • -A 或 --after-context= : 除了显示符合范本样式的那一列之外,并显示该行之后的内容。
  • -B 或 --before-context= : 除了显示符合样式的那一行之外,并显示该行之前的内容。
  • -C 或 --context=或- : 除了显示符合样式的那一行之外,并显示该行之前后的内容。

正则

元字符

贪婪模式.:匹配任意单个字符*:匹配其前面的字符任意次.*:匹配任意长度的任意字符\?:匹配其前面的字符1次或0次\{m,n\}:匹配其前面的字符至少m次位置锚定^:锚定行首,此字符后面的任意内容必须出现在行首$:锚定行尾,此字符前面的任意内容必须出现在行尾^$:空白行\
<或\b:锚定词首,其后面的任意字符必须作为单词首部出现\>
或\b:锚定词尾,其前面的任意字符必须作为单词尾部出现分组:\(\)后向引用\1:引用第一个左括号以及与之对应的右括号所包括的所有内容或者|:or

转载于:https://www.cnblogs.com/shamobus/p/9343384.html

你可能感兴趣的文章
建议把.CSV的默认打开方式改成任意一个文本 编辑器,系统自带的记事本就是个不错的选择...
查看>>
js 邮箱、11位手机正则
查看>>
使用Vim插件管理器Vundle
查看>>
Docker基于已有的镜像制新的镜像
查看>>
ServerCore命令
查看>>
nginx安装步骤总结-故障排查-浏览原理
查看>>
菜鸟学Linux 第071篇笔记 Mysql理论
查看>>
LINUX REDHAT第十四单元文档
查看>>
Java线程间通信之wait/notify
查看>>
jstat监控JVM内存使用情况、GC回收情况
查看>>
PHP ElasticSearch的使用
查看>>
python将日志导入数据库代码案例 3
查看>>
IOS之分析网易新闻存储数据(CoreData的使用,增删改查)
查看>>
php获取一维,二维数组长度的方法(有实例)
查看>>
iOS:KVO的概述与使用
查看>>
CLI使用案例4:灵活配置CLI
查看>>
Oracle12C 单实例dataguard配置
查看>>
MySQL入门介绍
查看>>
记JIRA服务,数据迁移,安装配置
查看>>
Linux下面监控系统性能的工具-vmstat
查看>>