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

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

ID:59153240

大小:113.50 KB

页数:5页

时间:2020-09-11

正则表达式在性能测试中的应用.doc_第1页
正则表达式在性能测试中的应用.doc_第2页
正则表达式在性能测试中的应用.doc_第3页
正则表达式在性能测试中的应用.doc_第4页
正则表达式在性能测试中的应用.doc_第5页
资源描述:

《正则表达式在性能测试中的应用.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、正则表达式在性能测试中的应用小明终于用性能测试工具录制完成一个脚本,兴冲冲的点下回放按钮,结果满屏红字,整个人都不好了。找到资深玩家强哥询问,答曰:“没做关联(注一)”。接着发过来一篇正则表达式(注二)的入门页面说:“先自学吧”。“啥?关联和正则表达式都是什么鬼?”求此时小明同学此刻心里阴影面积。开篇故事是每个初入性能测试行当的人都可能遇到的一个比较挠头的问题。作为IT行当的基本功之一,正则表达式广泛应用于数据提取,模式匹配等多个方面。性能测试过程中的数据关联自然也逃脱不了。每当遇到,驱动Google(呃,还是百度吧,你懂的)一搜,问题解决,下一个。然而前人问题答案不一定完美匹

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

3、,其他啥都不是。(在那个8.3还要区分主文件名和扩展名的时代……呃,还是不多说了。)在正则表达式环境中,.可以匹配任意一个字符,可以是数字123,也可以是英文字符abc,还可以是特殊字符+-*一类。总之只要是能敲到显示器上能占位置的字符它都能匹配。*在命令行(命令行又是什么鬼?自己悟吧!)下,它才是用来匹配任意一个字符的东西。和正则表达式中的.的作用基本一样。在正则表达式中,它是用来限定前一个字符的出现次数的,表示前一个字符出现0次到任意次。现学现卖:.*表示匹配任意长度的字符串,可以是什么都没有的空字符串,也可以是3.9793……这样的数字,也可以是蒸羊羔,蒸熊掌,蒸鹿尾儿.

4、.....(说着说着都饿了。好了,下不为例)这样的字符串,无论有多长都可以匹配。?在命令行中它是用来表示出现次数0次到1次的一个字符。举个例子,一个目录下有这么几个文件:a.xlsa.xlsxa.xlsma.xlsmx。命令行下敲dira.xls?可以显示出a.xlsa.xlsxa.xlsm但是a.xlsmx就不能匹配了,因为后面多出来了两个字符,超出?的匹配范围了。在正则表达式中和命令行有点类似但不完全一样。它是表示前一个字符或者准确的说前一个子表达式出现0次到一次,如果要像命令行中那么用,得写成a.xls.?(前一个.就精确匹配一个点,所以要转义,若不转义,则能匹配到ab

5、xls这样的字符串)。比命令行下的略复杂一点,但可以控制是哪些特定字符出现零次到一次。+在命令行的模式匹配中+就是加号的意思,没有任何特殊的含义。在正则表达式中,+也是是用来限定前一个字符的出现次数的,表示前一个字符出现至少一次到任意次。也就是说被它限定过的不能是空串,至少得有点东西。.+是除了空字符串匹配不上外,剩下的.*能匹配的,它都能匹配。不知道上面的几个重点理解了多少,现在再说点正则表达式中简单点的东西,综合起来举例说明也就清楚了::用来对后面的具有特殊含义的字符进行转义,比如前文出现的.就是匹配单个.而不是任意字符。要匹配本身的话,则要写两个\。[]:用来枚举

6、所有可能出现的字符集合只要是在[]里面出现的就都能匹配,不出现的则不能匹配,[+-*/]就是用来匹配加减乘除任意一个的。但不能匹配%。{m,n}:m和n都表示数字。用来限定前一个字符或表达式出现次数的下限和上限。{,n}下限忽略表示最少零次,{m,}上限忽略表示任意多次,{m}只写一个的话表示次数精确限定。例如.{3,5}就是用来匹配3到5个任意字符的字符串。():用来划范围的,有时后面会跟之前讲到的*?+一类的修饰符,表示这一组出现多少次,而不是之前那种只对单个字符限定出现多少次。举例说明:(abc)?就表示abc要么一起出现一次,要么都不出现,如果写成abc?就成了匹配ab

7、或abc这种的了。还有一种用法是在后续还要引用的时候会用到(),后面遇到了再说。0-9:用来匹配单个数字字符,因为是范围集合,所以要写成[0-9],如果要匹配不为零的数字则写成[1-9],只匹配4到7的话就是[4-7]。1到9但不匹配5的话就是[1-46-9]。这里需要再强调一下,本示例下都只能匹配一位数字,若要匹配多位数字的话,就得在后面加上+*一类的修饰符,比如匹配所有大于零的整数就写作[1-9][0-9]*。a-z:用来匹配单个小写字母,也因为是范围集合,所以写成[a-z],同理只匹配

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。