例如,
引用名称:MYREF。
正则表达式:name="(.+?)" value="(.+?)"。
模板:$1$$2$。
不要用/ /封装正则表达式。
如下变量的值将会被设定。
MYREF: file.namereadme.txt。
MYREF_g0: name="file.name" value="readme.txt"。
MYREF_g1: file.name。
MYREF_g2: readme.txt。
这些变量后续可以在JMeter测试计划中引用,形如${MYREF}、${MYREF_g1}等。
3.关键字
正则表达式使用特定字符作为关键字,这些字符对正则表达式引擎有特殊意义。在字符串中使用这些字符必须进行转义(使用反斜杠"\"),目的是将它们当成原始字符,而非正则表达式的关键字。下面是关键字和它们的含义。
( ):组合。
[ ]:字符集合。
{ }:重复。
+ ?:重复。
.:任意匹配字符。
\:转义字符。
| -:选择符。
^ $:字符串或行的起始和结尾。
注意,ORO不支持\Q和\E关键字。
4.修改器(Modifier)
理论上修改器可以被放置在正则表达式的任何地方,并被放置的位置开始向后生效。(ORO存在一个BUG,修改器不能放在正则表达式的末尾。尽管修改器在这里不生效)。
单行(?s)和多行(?m)修改器通常都被放在正则表达式的开头。
忽略(?i)修改器可以被用来仅仅影响正则表达式的某一部分,例如:
- Match ExAct case or (?i)ArBiTrARY(?-i) case
由于单行和多行修改器的设置不同,范本匹配的表现也略有不同。请注意,单行和多行操作符之间没有任何关联;它们可以被单独指定。
1)单行模式
单行模式只影响关键字符"."。默认情况下,"."可以匹配任何字符(除了换行)。在单行模式下,"."还匹配换行。
2)多行模式
多行模式只影响关键字符"^"和"$"。默认情况下,"^"和"$"仅仅匹配字符串的开始和结尾。而在多行模式下,"^"和"$"匹配每一行的开始和结尾。