1、什么是正则表达式
  正则表达式就是处理字符串的方法,它是以行为单位来进行字符串的处理行为,正则表达式通过一些特殊的符号的辅助,可以让用户轻易达到查找、删除、替换某特定字符串的处理程序。正则表达式基本上是一种“表示法”,只要工具程序支持这种表示法,那么该工具程序就可以用来作为正则表达式的字符串处理之用。常用的工具有vi、grep 、awk 及sed 等。
  
2、语系对正则表达式的影响
  在使用正则表达式时,需要特别注意当时的环境的语系为何,否则可能会发现与别人的不相同的选取结果。通常用的语系设置是 “LANG=C”
  另外为了避免因为语系的不同英和数字的选取问题,我们需要记住以下一些常用的特殊符号

特殊符号 代表意义
[:alnum:] 代表英文大小写及数字,即0-9、 A-Z、a-z
[:alpha:] 代表英文大小写字符,即 A-Z,a-z
[:digit:] 代表数字 即 0-9
[:lower:] 代表小写字母 a-z
[:upper:] 代表大写字母 A-z

备注:查找字符串的常用操作示例

//查找在文本中不包含字符的操作使用-v 其中n 表示显示
grep -vn 'the' regular_express.txt
//忽略大小写的操作
grep -in 'the' regular_express.txt

3、基础正则表达式常用操作总结

字符 描述 示例
\ 将下一个字符标记为一个特殊字符、或一个原义字符 {} 因为{与}的符号在shell中是有特殊意义的,必须要使用\的转意它
^ 通常情况下表示行首,但是如果^出现在[]中则表示‘反向选择’ ^[a-z]表示以小写字母开头的行,^[^a-zA-Z] 表示不以字母开头的行
. 代表一定有一个任意字符的字符 例如:grep -n ‘e.e’ test.txt 可以匹配到exe ,eae等
行尾符 google$ 表示以google 结尾的行
* 匹配前一个字符(前面的子表达式)零次或多次 例如,zo* 能匹配 “z” 以及 “zoo”。 * 等价于{0,}。
{n} n 是一个非负整数。匹配确定的 n 次 例如:’o{2}’ 不能匹配 “Bob” 中的 ‘o’,但是能匹配 “food” 中的两个 o。
{n,} n 是一个非负整数。至少匹配n 次 例如:’o{2,}’ 不能匹配 “Bob” 中的 ‘o’,但能匹配 “foooood” 中的所有 o。’o{1,}’ 等价于 ‘o+’。’o{0,}’ 则等价于 ‘o*’。
{n,m} m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次 例如: “o{1,3}” 将匹配 “fooooood” 中的前三个 o。’o{0,1}’ 等价于 ‘o?’。请注意在逗号和两个数之间不能有空格。

4、扩展正则表达式常用操作总结

字符 描述 示例
+ 匹配前一个字符(前面的子表达式)一次或多次 例如,’zo+’ 能匹配 “zo” 以及 “zoo”,但不能匹配 “z”。+ 等价于 {1,}。
匹配前面的子表达式零次或一次 例如,”do(es)?” 可以匹配 “do” 或 “does” 中的”do” 。? 等价于 {0,1}。
| 用或(or)的方式找出数个字符串 例如:搜寻gd或good这两个字符串egrep -n ‘gd|good’ test.txt
() 找出群组字符串 例如:搜寻(glad)或者(good)这两个字符串,因为g与d是重复的,所以,我就可以将la与oo列于()当中,并以
()+ 多个重群组的判别 例如:将AxyzxyzxyzxyzC用echo叫出,然后再使用如下方法搜寻 egrep ‘A(xyz)+C’ test.txt上面的例子意思是说,我要找开头是A结尾是C,中间有一个以上的“xyz”字符串的意思。

备注:如果包含了扩展正则表达式中的符号,则需要使用egrep

Linux学习总结(六): 正则表达式相关推荐

  1. Linux学习(六)---实用指令(只看这篇就能完成基础的学习)

    文章目录 一.指定运行级别 二.切换到运行级别的指令 2.1 基本语法 2.2 应用实例 2.3 常问的面试题 三.帮助指令 3.1 基本介绍 3.2 man获得帮助信息 3.3 help 指令 3. ...

  2. linux mkdir绝对路径,linux学习(六)绝对路径、相对路径、cd、mkdir、rmdir、rm(示例代码)...

    一.绝对路径 就是从根开始的,如:/root./usr/local. 二.相对路径 相对于当前路径的,比如我们在当前路径下建立了一个a.txt. [[email protected] ~]# pwd/ ...

  3. Linux学习(六):proftpd搭建,完美解决vsftpd中文引号bug

    一.proftpd简介: proftpd软件和vsftpd一样是一个开放源代码的ftp服务器软件,但是可配置项比vsftpd要多,是目前比较流行的ftp软件,proftpd的配置和apache的配置相 ...

  4. Linux 学习 第六单元

    文件权限 一.文件属性的查看,格式如下 ls  -ld  目录名     ##查看目录本身的属性 ls -l   目录名或文件名     ##查看目录的内容或查看文件的属性 其查看内容显示如下,共八列 ...

  5. Linux学习笔记六:SSH 软件安装失败了:Server responded Protocol error packet too long 1349676920

    目录 概述 Windows Ubuntu 测试 概述 在上一篇交叉编译环境安装中可以感受到,使用VMware共享文件夹的方式传输文件还是有些麻烦的.这一篇就记录下SSH的使用.SSH可以直接拖拽实现双 ...

  6. Linux学习(六)

    一.实验名称 shell编程应用 二.实验目的 结合shell脚本编程和所学知识,运用到实际场景当中 三.需求分析 某工作室有5台linux服务器,安装了centos7操作系统.系统管理员提出了一个需 ...

  7. Linux学习(六):命令与文件的查阅,Root用户和个人用户使用which命令的差别...

    which 注意:使用root用户和个人用户查找的结果是有差别的 1.用Root用户可以找到正确的执行文件名 2.切换到个人用户 我的是配置了PATH变量所以查找得到 3.区别 因为which是根据用 ...

  8. Linux学习系列五:Shell命令脚本的基本语法

    这个系列的Linux教程主要参考刘遄老师的<Linux就该这么学>.用的系统是RHEL8,如果遇见一些命令出现问题,请首先检查自己的系统是否一致,如果不一致,可网上查一下系统间某些命令之间 ...

  9. Linux端日志加密,Linux学习--第十三天--日志、系统运行级别、grub加密

    日志 rsyslogd取代了syslogd. /var/log/cron #定时任务相关日志 /var/log/cups #打印信息相关日志 /var/log/dmesg #开机内核自检相关日志,dm ...

  10. Linux学习笔记10

    Linux学习笔记10 Linux学习笔记10 正则表达式 源码包约定目录 Shell脚本约定目录 Shell脚本的创建与执行 date命令 同步时间 Shell脚本预设变量 与用户交互 数学计算 S ...

最新文章

  1. python提取excel中的某几列数据-python-将excel中的某些列读取到数据框
  2. Codeforces Round #155 (Div. 2)
  3. C++string容器-字符串拼接
  4. 深入new/delete:Operator new的全局重载
  5. Linux 实操 —— 日志筛选操作(sed与wc命令介绍)
  6. 推荐系统(Recommendation system)
  7. python正则表达式匹配模式屠夫之桥_小甲鱼零基础入门Python学习视频+全套源码课件 Python视频教程 96讲...
  8. singft 函数 matlab,(新)信号与系统MATLAB实验全.doc
  9. Linux 命令(71)—— ldconfig 命令
  10. mysql 协议解析源码 c_MySQL协议分析2
  11. IE不支持 Promise 解决办法
  12. C语言 判断 101 到 200 之间的素数
  13. matlab马赫带,学习实现马赫带效果
  14. 针式打印机打印显示传真服务器,针式打印机怎么设置【图文详解】
  15. Kubernetes集群部署之二CA证书制作
  16. 公务员没考上……我做了投资
  17. 亿图脑图MindMaster思维导图及亿图图示会员-骨折啦
  18. 企业微信官方认证的好处是什么?
  19. 程序修行从“拔刀术”到“万剑诀”
  20. 架构设计:一种远程调用服务的设计构思(zookeeper的一种应用实践)

热门文章

  1. 【Java面试小短文】HashMap是如何解决Hash冲突的?
  2. 【Spark】IDEA sbt编译出错unresolved dependency: com.eed3si9n#sbt-assembly;0.13.0: not found
  3. 打印九九口诀表 — C语言
  4. Android下拉选择弹窗
  5. 9. 试用期工作总结九
  6. mmo及时战斗游戏中的场景线程分配
  7. ESP-AT 入门指南
  8. 谣言检测文献精读——13.2020-A Graph Convolutional Encoder and Decoder Model for Rumor Detection
  9. 通过PS给人体制作逼真的纹身效果
  10. 程序员秒懂,但会不会误导小朋友