正则表达式卷子

正则表达式非常重要, 如果不懂正则表达式,JMeter中的正则表达式提取器做不下去。

简单的正则表达式讲解

例题: 原文本如下:

href="/norder/orderdetail?orderCode=88202104282409412" target="_blank">订单详情</a></span>

写一个正则表达式, 提取订单号。

 

肖佳老师解释:要提取订单号,需要找到前面的参照物和后面的参照物。

第1步:找到前后参照物。

如下:orderCode=88202104282409412"  前后参照物永远不变。

第2步:把要提取的东西,换成(.*?) 最终的正则表达式就是:orderCode=(.*?)" 

 

前后参照物不需要找太长。 比如,前面的参照物。

不应该找 detail?orderCode= 找  orderCode=   就可以了。  

后面的参照物,不需要找   " target="_blank    只需要找 "   就可以了。

 

正则表达式测试器

任何正则表达式,都应该通过测试后,才能使用。

 

这个正则表达式可以从群文件中下载。

注意: 不要选中下图中的 “替换”

 

 

 

 

 

作业: 把之前的正则表达式字符串。 测试下。

 

 

.*?  代表什么意思

 

. 替代任何字符

*? 重复任意次,但尽可能少重复。

 

 

.*?   意思是替代任何字符,重复任意次

 

 

括号代表什么意思。   括号代表分组

 

简单的正则表达式的练习

因为你们是初学者,建议大家按我的思路,分步来做。

分步做不会做错。

 

问题:

原文本:
<a href="/order/detail?orderid=11441389871">11441389871</a>
写一个正则表达式, 提取订单号。

第1步:找到前参照物和后参照物。   答案:

 

第2步:把要提取的东西换成(.*?)  答案:

 

问题:
原文本如下

<a href="//pfk.360kad.com/" target="_blank">皮肤科</a></dd>

写一个正则表达式, 提取 “皮肤科“”。

第1步:找到前参照物和后参照物。   答案:

 

第2步:把要提取的东西换成(.*?)  答案:

 

问题:

原文本如下

<p class="price-vip" style="font-family:微软雅黑">会员价:<b>¥2.50</b></p>

写一个正则表达式, 提取 “2.50”。

第1步:找到前参照物和后参照物。   答案:

 

第2步:把要提取的东西换成(.*?)  答案:

 

提取token字符串

{

    "txtUserName":"tankxiao",

    "token ":"adfdf343sdfdsfdsf234324324sdfsfdsfdsfsadfasdf12345678"

}

写一个正则表达式, 提取 token字符串,先搞清楚哪个是token字符串。(有颜色的是token字符串)

第1步:找到前参照物和后参照物。   答案:

 

第2步:把要提取的东西换成(.*?)  答案:

 

 

 

 

转义的正则表达式

有一些特殊字符,需要转义。

 

转义, 明确的告诉服务器,我是一个普通字符。在需要转义的字符前面加\

\(    告诉服务器我是一个普通字符,我就是一个普通的(

 

例题:原文本

onclick="Edit(11683092711) ">

提取其中的ID

肖佳老师分析: 做这种转义的正则表达式一定需要分3步走。

 

第1步:找到前后参照物      Edit(11683092711) "

第2步:把需要转义的字符,前面加\。括号是特殊字符,需要转义。Edit\(11683092711\) "

第3步:把要提取的东西 改为 (.*?)   Edit\((.*?)\) "

问题:原文本

onclick="Edi?t((11683092711)) ">

 

第1步:找到前后参照物
答案:

第2步:把需要转义的字符,前面加\。括号是特殊字符,需要转义。问号也需要转义

答案:

第3步:把要提取的东西 改为 (.*?)

 

 

问题:原文本:

onclick="$('#h_FavoriteId').val('112677811');confirmPop('是否取消收藏!

 

第1步:找到前后参照物
答案:

第2步:把需要转义的字符,前面加\。括号是特殊字符,需要转义。问号也需要转义

答案:

第3步:把要提取的东西 改为 (.*?)

 

 

 

 

问题

原文本, 需要提取3250

 <p class="Yjifen" id="integral_count">3250</p>

 

第1步:找到前后参照物
答案:

第2步:把需要转义的字符,前面加\。括号是特殊字符,需要转义。问号也需要转义

答案:

第3步:把要提取的东西 改为 (.*?)

 

 

 

 

哪些字符需要转义

 

小括号

问号

 

都需要转义。

 

如果提取不出来,说明就需要转义。

 

posted on 2021-09-02 07:44  小坦克  阅读(1444)  评论(0编辑  收藏  举报