测试中常用的正则表达式你知道哪些?
一、 什么是正则表达式:
在维基百科中,正则表达式被形容是“使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些匹配某个模式的文本。”
二、 为什么使用正则表达式:
在接触到这一概念时,我们可能会觉得它神秘莫测,同时又比较难以理解。首先我们了解了正则表达式(下文简称为正则)是一个字符串,它由一系列我们常用或常见的文字、符号等组合而成,在我们需要检索特定文本时,通过使用正则,往往能够提升效率,避免做出大量重复检查、匹配的劳动。
三、 如何使用正则表达式:
接下来,我们完全可以将正则理解为一门语言,它有属于自己的字符、字符含义、字符组合等,我们可以通过一些实例来具体看一下,究竟什么情况下,这门“神奇”的语言能够帮到我们。
1. 我想找一个已经明确的对象
这个时候我们可以直接写出要找的字符,比如我要找Green;
image.png
2. 如果我需要查找Green这个单词,请注意,这和前面的匹配条件是有细微差别的
image.png
这里的\b标记单词的边界(实际上是一个位置),在进行主观判断时,建议你通过以下条件查看一个序列是否匹配——
(1) \b本身是不具有长度的,所到达的这个位置是单词边界,就算是匹配成功;
(2) \b的一侧是构成单词的字符,另一侧不能是英文字母、数字、下划线,所以Greens右侧出现了s,就不符合筛选条件了;
3. 现在我们需要查找一个T后面跟随2位长度字符的序列
image.png
在这里,The和Tom我们都找到了,其实\w代表任意一个字母、数字或者下划线,而{2}表示将前面的一个单元重复2次,也就是说T1a,T23,T4_,T_6,T__,都是可以通过这个正则筛选出来的,Tony当中的Ton也符合这个正则;
4. 通过修改上面这条正则,我们也可以直接筛选到Tony
image.png
变化就在{2,3}当中,这里{2,3}表示将前面的一个单元重复最少2次,最多3次,如果你还想筛选Tommy,可以继续修改这个正则为T\w{2,4};
5. 你可能已经发现,在使用\w时,我们不能只筛选英文字母或者说准确到只筛选小写英文字母
image.png
[a-z]表示从小写字母a到小写字母z这个范围,匹配到任意一个字母就算成功,那么我们使用上面这条正则,就可以筛选到The,Tom,Tony,类似,如果需要筛选大写字母序列,可以使用[A-Z],比如TOM,TONY,就可以使用T[A-Z]{2,3}筛选出来。
四、 在哪里使用正则表达式:
首先,多数的编程语言都能够支持正则,比如python,Java等;
平常在使用Fiddler、Charles等代理工具时,我们也可以通过正则来简化重定向,比如[t|T]1.abc.com可以定位到t1.abc.com或T1.abc.com,其中|表示或。
现在简单总结一下,我们可以通过使用正则来识别全部符合要求的文本,同时,也忽略掉那些不符合要求的文本。在构建正则时,我们需要使用到基本字符和特殊字符。基本字符主要包括英文字母、数字(准确说应该是十进制数字)、下划线、空格等等,我们可以简单理解为,这些字符在一条正则中,表示的就是它本身的意义,没有发生什么变化。比如我们上面已经应用过的,Green表示的就是大写字母G,小写字母r,e,e,n按照顺序组成的一个序列,而在{2,3}当中,2表示的就是数字2。当然还有一些特殊字符,比如[a-z]中,[]就不是简单的括号,而表示在它当中列举的字符里选择一个,当然-也不仅仅是连字符了,而是代表了一个范围。类似还有像\b,\w,\n(一个换行符),\s(一个空格),.(除换行符以外的其他任意一个字符),^(一行开始的位置),$(一行结束的位置)。
五、 部分正则表达式实例: 在实际测试中很多都用得到正则表达式,有的时候用好了,事半功倍,甚至好几倍:
比如你得到一个很长的文本文档,你要删除/增加其中一部分重复的内容,一点点手动删除肯定会手抽筋,但是可以写一个正则表达式即可搞定。
测试中常用的正则表达式你知道哪些?相关推荐
- php的正则表达式函数,php中常用的正则表达式函数
php中常用的正则表达式函数 * preg_match() * preg_match_all() * preg_replace() * preg_filter() * preg_grep() * pr ...
- php正则运用,php中常用的正则表达式的介绍及应用实例代码
更全面的实例,可以参考 最常用的PHP正则表达式收集整理 //www.jb51.net/article/14049.htm php 正则表达式小结 //www.jb51.net/article/198 ...
- iOS中常用的正则表达式
正则表达式是什么鬼呀?(大神请绕路哦) 在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要.正则表达式就是用于描述这些规则的工具.换句话说,正则表达式就是记录文本规则的代码.很 ...
- 渗透测试中常用端口及利用
渗透测试中常用端口及利用 端口 服务 入侵方式 21 ftp/tftp/vsftpd文件传输协议 爆破/嗅探/溢出/后门 22 ssh远程连接 爆破/openssh漏洞 23 Telnet远程连接 爆 ...
- 【3】web安全入门篇-渗透测试中常用的命令
1.linux命令 渗透测试中常用的linux命令 上面博客提到的基本都能满足需求 2.cmd命令 常用的cmd命令 cmd命令和linux命令常用的对于web入门的萌新可以看看上面博客,多敲一敲用的 ...
- 关于测试中常用到的一些方法、策略总结
一些常用模块的测试用例 1.登录 2.添加 3.查询 4.删除 1.登录 ①用户名和密码都符合要求(格式上的要求) ②用户名和密码都不符合要求(格式上的要求) ③用户名符合要求,密码不符合要求(格式上 ...
- input pattern中常用的正则表达式
常用的正则表达式pattern的用法都一样,这里不再啰嗦各种详细写法了,只是列出来一些常用的正则就好了:信用卡 [0-9]{13,16}银联卡 ^62[0-5]\d{13,16}$Visa: ^4[0 ...
- 工作中常用的正则表达式
正则表达式中的常用符号 ^ 匹配输入字符串的开始位置. $ 匹配输入字符串的结束位置. * 匹配前面的子表达式零次或多次. \ 将下一个字符标记为一个特殊字符.或一个原义字符.或一个后向引用.或一个八 ...
- WEB开发中常用的正则表达式
在计算机科学中,正则表达式用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串.在WEB开发中,正则表达式通常用来检测.查找替换某些符合规则的字符串,如检测用户输入E-mai格式是否正确,采集符 ...
最新文章
- 网络2网络布线与数制转换
- 实时计算 Flink 版总体介绍
- df -h 显示100%的解决办法
- python gevent模块 下载_【python安全攻防】包、模块、类、对象
- debian安装java jdk_Linux(Centos、Debian)之安装Java JDK及注意事项(转)
- offset;scroll;client
- Linux 内核实验室 —— 基于 Docker/Qemu 的极速 Linux 内核学习、开发和测试环境
- Linux : 文件处理命令
- instanceof 和 构造函数
- 以太坊2.0合约余额新增3872 ETH
- 没有Where条件下group by走索引
- 摘自缪雪峰的博客的JavaScript个人笔记(3)
- CMake Error at CMakeLists.txt:52 (PROJECT): No CMAKE_CXX_COMPILER could be found.
- 深度学习:GAN案例练习-minst手写数字
- 智力题题目及答案【集合】
- 20个常用模拟电路(嵌入式硬件篇)
- oracle timesten tt的启动与停止
- ecshop一键购物
- CSS3阴影 box-shadow的使用和技巧总结
- 树莓派4B最新系统bullseye更换国内源方法