[转帖]正则表达式边玩边学

正则表达式,边玩 · 浏览次数 : 0

小编点评

**正则表达式入门课笔记** **正则**是一种描述文本内容的表示方式。在编程语言中,正则经常用于简化文本处理的逻辑。 **元字符**是正则表达式的特殊字符,包括特殊字符、空白符、范围、量词等。 **量词**默认是贪婪匹配,如果想要进行非贪婪匹配需要在量词后面加上问号。 **分组**可以将某部分括起来,看成一个整体,也可以保存成一个子组,在后续查找替换的时候使用。 **分组编号**是指,在正则中第几个括号内就是第几个分组,而嵌套括号我们只要看左括号是第几个就行了。 **分组引用**可以将某部分括起来,看成一个整体,也可以保存成一个子组,在后续查找替换时使用。

正文

最近在学习极客时间的《正则表达式入门课》,感觉很适合入门玩,所以简单作一些笔记方便查找参考。
正则,就是正则表达式,英文是 Regular Expression,简称 RE。顾名思义,正则其实就是一种描述文本内容组成规律的表示方式。在编程语言中,正则常常用来简化文本处理的逻辑。在 Linux 命令中,它也可以帮助我们轻松地查找或编辑文件的内容,甚至实现整个文件夹中所有文件的内容替换,比如 grep、egrep、sed、awk、vim 等。另外,在各种文本编辑器中,比如 Atom,Sublime Text 或 VS Code 等,在查找或替换的时候也会使用到它。总之,正则是无处不在的,已经渗透到了日常工作的方方面面。

元字符

下图是正则表达式的部分元字符,包括特殊单字符、空白符、范围、量词等:
在这里插入图片描述

量词与贪婪

正则中量词默认是贪婪匹配,如果想要进行非贪婪匹配需要在量词后面加上问号。贪婪和非贪婪匹配都可能会进行回溯,独占模式也是进行贪婪匹配,但不进行回溯,因此在一些场景下,可以提高匹配的效率,具体能不能用独占模式需要看使用的编程语言的类库的支持情况,以及独占模式能不能满足需求。
在这里插入图片描述

分组和引用

括号可以将某部分括起来,看成一个整体,也可以保存成一个子组,在后续查找替换的时候使用。分组编号是指,在正则中第几个括号内就是第几个分组,而嵌套括号我们只要看左括号是第几个就可以了。如果不想将括号里面的内容保存成子组,可以在括号里面加上?: 来解决。
搞懂了分组的内容,我们就可以利用分组引用,来实现将“原文本部分内容”,在查找或替换时进行再次利用,达到实现复杂文本的查找和替换工作。
在这里插入图片描述

正则表达式语法支持情况

在这里插入图片描述

文章知识点与官方知识档案匹配,可进一步学习相关知识
CS入门技能树Linux入门初识Linux31175 人正在系统学习中

与[转帖]正则表达式边玩边学相似的内容:

[转帖]正则表达式边玩边学

最近在学习极客时间的《正则表达式入门课》,感觉很适合入门玩,所以简单作一些笔记方便查找参考。 正则,就是正则表达式,英文是 Regular Expression,简称 RE。顾名思义,正则其实就是一种描述文本内容组成规律的表示方式。在编程语言中,正则常常用来简化文本处理的逻辑。在 Linux 命令中

[转帖]正则表达式技巧与注意事项

https://www.cnblogs.com/codelogs/p/16060052.html 原创:打码日记(微信公众号ID:codelogs),欢迎分享,转载请保留出处。 简介# 现如今,正则表达式几乎是程序员的必备技能了,它入手确实很容易,但如果你不仔细琢磨学习,会长期停留在正则最基本的用法

[转帖]正则表达式及在Jmeter中的应用

目录 1.正则表达式 1.1 什么是正则表达式 1.2 为什么使用正则表达式 2.语法 2.1 普通字符 2.2 限定符 2.3 非打印字符 2.4 特殊字符 2.5 定位符 2.6 修饰符(标记) 2.7 选择 2.8 运算符优先级 3.常用正则表达式及在线工具 4.Jmeter之正则表达式提取器

[转帖]总结:正则表达式

一、重要点整理 ^ 为匹配输入字符串的开始位置。 [0-9]+匹配多个数字, [0-9] 匹配单个数字,+ 匹配一个或者多个。[^…] 排除型字符组。 abc$匹配字母 abc 并以 abc 结尾,$ 为匹配输入字符串的结束位置。 正则表达式由两种字符构成。一种是在正则表达式中具体特殊意义的“元字符

[转帖]egrep 正则表达式

https://www.cnblogs.com/ordili/p/9395735.html 一.功能 用正则表达式在文件或输入中搜索匹配的字符串,并打印出匹配的行。egrep匹配之前,会删除每行结尾的换行符。 二.语法 grep [OPTION]... PATTERN [FILE]... OPTIO

[转帖]jmeter正则表达式应用-01篇

如图所示 1.先新建一个login的http请求,然后再login的请求下新增一个正则表达式提取器,增加一个查看结果树查看结果 假如后端接口返回的数据为"{'msg': 'login success', 'code': 1001, 'token': '48b2837a33461f58988ae72b

[转帖]jmeter正则表达式提取器获取数组数据-02篇

接上篇,当我们正则表达式匹配到多个值以后,入下图所示,匹配到21个结果,如果我们想一次拿到这一组数据怎么办呢 打开正则表达式提取器页面,匹配数字填入-1即可 通过调试取样器就可以看到匹配到已经匹配到多个结果了

[转帖]jmeter必备正则表达式

元字符 . 注意是一个点号,表示匹配任意单个字符 \d 表示匹配任意单个数字 [0-9] 等价于0-9 [a-zA-Z] 等价于所有的大小写字母 限定符 + 加号,表示匹配至少大于1次(1次或多次) ?问号,便是匹配0次或1次 * 星号,匹配0次或多次,贪婪匹配 {n,} {n,m} {m} 匹配限

[转帖]egrep及扩展的正则表达式

egrep: egrep = grep -E 语法:egrep [选项] PATTERN [FILE...] 扩展正则表达式的元字符: 字符匹配: .:匹配任意单个字符; [ ]:匹配指定范围内的任意单个字符; [^]:匹配指定范围外的任意单个字符; 次数匹配: *:匹配前面的字符任意次(*自身仅表

[转帖]Shell编程之正则表达式与文本处理器(grep、sort、uniq、tr、cut)

目录 正则表达式概念正则表达式的作用元字符grep命令在文本中查找指定的字符串sort命令排序uniq命令快捷去重tr命令替换、压缩和删除cut命令快速裁剪命令expr substr 截取方法cut截取方法 split命令文件拆分paste命令文件合并eval变量扫描器位置锚定分组或其他扩展正则表达