JMeter 中的正则表达式在正则表达式测试器中工作时抛出错误
Regular Expression in JMeter throws an error where as it is working in fine regex tester
我收到了之前请求的回复。我正在尝试使用正则表达式来获取所需的文本。我的回复如下
{
"screen": {
"heading": "HEADING",
"content": {
"lines": [
"Scan the source CBSE. "
]
},
"prompt": {
"default": "",
"display_value": "HEADING",
"masked": {
"on": "FALSE",
"char": "*"
}
}
}
}
在上面的 json 回复中,我试图提取 CBSE 这个词。我在正则表达式测试器中使用以下正则表达式 - (?<=Scan the source ).*(?=. ")
但是当我在 JMeter 中检查相同内容时出现错误,并且它也没有保存在变量中。
JMeter 错误:
org.apache.oro.text.MalformedCachePatternException: 无效表达式: (?<=扫描源码).*(?=. ")
序列 (?<...) 无法识别
我认为您的正则表达式对 Jakarta ORO 语法无效,请尝试更简单的方法,例如:
"Scan the source\s*(.+?)\. "
另请注意,JMeter 提供了 Boundary Extractor,因此只需提供“左”和“右”边界就足够了,JMeter 将获得中间的所有内容:
此外,此方法消耗的资源较少,有关详细信息,请参阅 The Boundary Extractor vs. the Regular Expression Extractor in JMeter 文章。
我收到了之前请求的回复。我正在尝试使用正则表达式来获取所需的文本。我的回复如下
{
"screen": {
"heading": "HEADING",
"content": {
"lines": [
"Scan the source CBSE. "
]
},
"prompt": {
"default": "",
"display_value": "HEADING",
"masked": {
"on": "FALSE",
"char": "*"
}
}
}
}
在上面的 json 回复中,我试图提取 CBSE 这个词。我在正则表达式测试器中使用以下正则表达式 - (?<=Scan the source ).*(?=. ")
但是当我在 JMeter 中检查相同内容时出现错误,并且它也没有保存在变量中。
JMeter 错误: org.apache.oro.text.MalformedCachePatternException: 无效表达式: (?<=扫描源码).*(?=. ") 序列 (?<...) 无法识别
我认为您的正则表达式对 Jakarta ORO 语法无效,请尝试更简单的方法,例如:
"Scan the source\s*(.+?)\. "
另请注意,JMeter 提供了 Boundary Extractor,因此只需提供“左”和“右”边界就足够了,JMeter 将获得中间的所有内容:
此外,此方法消耗的资源较少,有关详细信息,请参阅 The Boundary Extractor vs. the Regular Expression Extractor in JMeter 文章。