正则表达式在性能测试中的应用

本文介绍了正则表达式在性能测试中的重要性,通过实例讲解了正则表达式的基础语义,如`.`、`*`、`?`、`+`等,并探讨了它们在命令行与正则表达式环境中的区别。此外,文章还提供了实战热身,如匹配GUID、手机号码和网页标签的内容,以及如何在性能测试工具中应用正则表达式进行数据关联和提取。
摘要由CSDN通过智能技术生成

小明终于用性能测试工具录制完成一个脚本,兴冲冲的点下回放按钮,结果满屏红字,整个人都不好了。

    找到资深玩家强哥询问,答曰:“没做关联(注一)”。

    接着发过来一篇正则表达式(注二)的入门页面说:“先自学吧”。

    “啥?关联和正则表达式都是什么鬼?”

    求此时小明同学此刻心里阴影面积。

    

    开篇故事是每个初入性能测试行当的人都可能遇到的一个比较挠头的问题。作为IT行当的基本功之一,正则表达式广泛应用于数据提取,模式匹配等多个方面。性能测试过程中的数据关联自然也逃脱不了。每当遇到,驱动Google(呃,还是百度吧,你懂的)一搜,问题解决,下一个。然而前人问题答案不一定完美匹配当下问题,还是得自己动手,丰衣足食。此篇文章便是来八一八这类问题。

 

正则表达式基本语义:

   正则表达式起步一般都从. * ?三兄弟开讲,一般还要把+小弟算上凑成四大金刚。话说 . * ?三兄弟在DOS(九零后同学又问了:DOS又是啥玩意?呃,这个还是改日再说。八零后的兄弟姐妹们至少有所耳闻吧?说起来都是梗,有空再来八)环境下的模式匹配也曾是解决了不少问题的,当时也没听说过什么正则呀?到底模式匹配和正则是好基友还是相爱相杀?这个感情戏还是给那些写手去编吧,咱们后面就只讲干货了。还是一个一个的分头讲,这样能清楚点:

 

   .

    在DOS(,还是说命令提示符吧,好歹还能在开始菜单找到)下就是匹配 . 这个符号的,其他啥都不是。(在那个8.3还要区分主文件名和扩展名的时代……呃,还是不多说了。)

    在正则表达式环境中,.可以匹配任意一个字符,可以是数字123,也可以是英文字符abc,还可以是特殊字符+-*一类。总之只要是能敲到显示器上能占位置的字符它都能匹配。

 

   *

   在命令行(命令行又是什么鬼?自己悟吧!)下,它才是用来匹配任意一个字符的东西。和正则表达式中的.的作用基本一样。

   在正则表达式中,它是用来限定前一个字符的出现次数的,表示前一个字符出现0次到任意次。现学现卖:.*表示匹配任意长度的字符串,可以是什么都没有的空字符串,也可以是3.141592653589793……这样的数字,也可以是 蒸羊羔,蒸熊掌,蒸鹿尾儿......(说着说着都饿了。好了,下不为例)这样的字符串,无论有多长都可以匹配。

 

   ?

   在命令行中它是用来表示出现次数0次到1次的一个字符。举个例子,一个目录下有这么几个文件: a.xls a.xlsx a.xlsm a.xlsmx。命令行下敲 dir a.xls? 可以显示出a.xls a.xlsx a.xlsm 但是a.xlsmx就不能匹配了,因为后面多出来了两个字符,超出?的匹配范围了。

   在正则表达式中和命令行有点类似但不完全一样。它是表示前一个字符或者准确的说前一个子表达式出现0次到一次,如果要像命令行中那么用,得写成a\.xls.?(前一个.就精确匹配一个点,所以要转义,若不转义,则能匹配到abxls这样的字符串)。比命令行下的略复杂一点,但可以控制是哪些特定字符出现零次到一次。

 

   +

   在命令行的模式匹配中+就是加号的意思,没有任何特殊的含义。

   在正则表达式中,+也是是用来限定前一个字符的出现次数的,表示前一个字符出现至少一次到任意次。也就是说被它限定过的不能是空串,至少得有点东西。.+是除了空字符串匹配不上外,剩下的.*能匹配的,它都能匹配。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值