测试中常用的正则表达式你知道哪些?

一、 什么是正则表达式:

在维基百科中,正则表达式被形容是“使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些匹配某个模式的文本。”

二、 为什么使用正则表达式:

在接触到这一概念时,我们可能会觉得它神秘莫测,同时又比较难以理解。首先我们了解了正则表达式(下文简称为正则)是一个字符串,它由一系列我们常用或常见的文字、符号等组合而成,在我们需要检索特定文本时,通过使用正则,往往能够提升效率,避免做出大量重复检查、匹配的劳动。

三、 如何使用正则表达式:

接下来,我们完全可以将正则理解为一门语言,它有属于自己的字符、字符含义、字符组合等,我们可以通过一些实例来具体看一下,究竟什么情况下,这门“神奇”的语言能够帮到我们。

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(一个空格),.(除换行符以外的其他任意一个字符),^(一行开始的位置),$(一行结束的位置)。

五、 部分正则表达式实例: 在实际测试中很多都用得到正则表达式,有的时候用好了,事半功倍,甚至好几倍:
比如你得到一个很长的文本文档,你要删除/增加其中一部分重复的内容,一点点手动删除肯定会手抽筋,但是可以写一个正则表达式即可搞定。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值