Regular Expression Extractor (转)

Regular Expression Extractor是JMeter中的另一个概念—Post-processor,它的作用是得到HTTP响应后,对结果(比如一个html标签页面的内容或json输出数据等)进行处理,通过regular expression抽取字符值,存成一个变量给后面的Sampler使用。

例如在Click Table(afterSelectTable_ajax.action)这个Sampler执行完一次HTTP Request之后得到如下的HTTP Response(一个json格式的输出):

{"free":false,"hasError":false,"singleEntry":true,"table_nr":"05","tableid":5,"tableuseid":130}

现在要得到tableuseid的值130,可以用这样一个regular expression:

^.+?"tableuseid":([^} ,]+).*$

上面括号中的内容就是提取130的值,用括号的作用是可以把该值作为一个组,并存成一个变量以便在下一个Sampler--CreateOrder(doOpenGuestTable_ajax.action)中使用。

注:可以用下面的perl命令行交互式测试正则表达式:
perl -n -e ‘/^.+?"tableuseid":([^} ,]+).*$/ && print "$1\n"‘

1. 在Regular Expression Extractor会看到Template的值是$1$,这个值是什么意思呢? 
   $1$是指取第一个()里面的值。如果Regular Expression的数值有多个,用这种方法可以避免不必要的麻烦。

2. Regular Expression中的(.*)是什么意思? 
   那是一个正则表达式(regular expression)。’.’等同于sql语言中的’?’,表示可有可无。’*’表示0个或多个。’()’表示需要取值。(.*)表达任意长度的字符串。

3. 在读取Regular Expression时要注意什么? 
   一定要保证所取数值的绝对唯一性。

Suppose you want to match the following portion of a web-page: 
name="file" value="readme.txt"> 
and you want to extract readme.txt. 
A suitable regular expression would be: 
name="file" value="(.+?)">

The special characters above are:

    • ( and ) - these enclose the portion of the match string to be returned
    • . - match any character
    • + - one or more times
    • ? - don‘t be greedy, i.e. stop when first match succeeds
时间: 2024-10-08 09:57:42

Regular Expression Extractor (转)的相关文章

Jmeter组件4. Regular Expression Extractor

位置:Post-Processors - Regular Expression Extractor 所谓的Post-Processors直译为后处理器,意思是在域内所有Sampler执行完后才会执行,所以如果你想只对某个Sampler生效的话,那就加成子对象 这个组件可以用来做关联,非常有用 Apply to,作用域,主要作用在于是否作用在sub-sampler Field to check,分的很细,意思是你打算去哪里取值 Reference Name,变量名,取值后存储的对象名,可以用作${

LeetCode 10. Regular Expression Matching

https://leetcode.com/problems/regular-expression-matching/description/ Implement regular expression matching with support for '.' and '*'. '.' Matches any single character. '*' Matches zero or more of the preceding element. The matching should cover

Python正则表达式Regular Expression基本用法

资料来源:http://blog.csdn.net/whycadi/article/details/2011046   直接从网上资料转载过来,作为自己的参考.这个写的很清楚.先拿来看看. 1.正则表达式re模块的基本函数. (1)findall函数的用法 findall(rule,target[,flag])是在目标字符串中找到符合规则的字符串.参数说明:rule表示规则,target表示目标字符串,[,flag]表示的是规则选项.返回的结果是一个列表.若没找到符合的,是一个空列表. 如: 因

Java [leetcode 10] Regular Expression Matching

问题描述: Implement regular expression matching with support for '.' and '*'. '.' Matches any single character. '*' Matches zero or more of the preceding element. http://i.cnblogs.com/EditPosts.aspx?opt=1 The matching should cover the entire input string

【leetcode】Regular Expression Matching (hard) ★

Implement regular expression matching with support for '.' and '*'. '.' Matches any single character. '*' Matches zero or more of the preceding element. The matching should cover the entire input string (not partial). The function prototype should be

[LeetCode] Regular Expression Matching(递归)

Implement regular expression matching with support for '.' and '*'. '.' Matches any single character. '*' Matches zero or more of the preceding element. The matching should cover the entire input string (not partial). The function prototype should be

Python正则表达式 re(regular expression)

1. 点. .: 代表一个字符 (这个跟linux的正则表达式是不同的,那里.代表的是后面字符的一次或0次出现) 2. 转义 \\ 或者 r'\': 如 r'python\.org' (对.符号的转义) 3. ^ 非或叫做排除 如[^abc]: 任何以非a,b,c的字符 4. | 选择符 如python|perl (从python和perl选择一个) 也可以: p(ython|erl) 5. ? 可选项 如: r'(http://)?(www\.)?python\.org' (http://和w

[LeetCode] 10. Regular Expression Matching ☆☆☆☆☆

Implement regular expression matching with support for '.' and '*'. '.' Matches any single character. '*' Matches zero or more of the preceding element. The matching should cover the entire input string (not partial). The function prototype should be

LeetCode10 Regular Expression Matching

题意: Implement regular expression matching with support for '.' and '*'. '.' Matches any single character. '*' Matches zero or more of the preceding element. The matching should cover the entire input string (not partial). The function prototype shoul