1

我正在尝试提取出现在我输入的 ID 行上的数字“1”(即 12072)。

在过去的 2 个小时里,我一直在尝试让这个正则表达式工作,但我不知所措。到目前为止我有

12072.*?(\d+)(?!.*\d) 

但这会提取我从 12072 到 1 的所有内容。这是文本:

<td id="12072" scope="#999999" bgcolor="#999999" style="width: 65; color:#999999" align="center"  onclick="DaySelect(this)" title="">1</td>
<td id="12073" scope="#999999" bgcolor="#999999" style="width: 65; color:#999999" align="center"  onclick="DaySelect(this)" title="">1</td>

如何匹配指定 ID 行尾的数字 1,肯定有办法做到这一点?

帮助将不胜感激。

4

3 回答 3

3

您的比赛将在第 1 组

"12072"[^>]*>(\d+)

这是一个解释

Match the characters “12073” literally «12073»
Match any character that is NOT a “&gt;” «[^>]*»
   Between zero and unlimited times, as many times as possible, giving back as needed (greedy) «*»
Match the character “&gt;” literally «>»
Match the regular expression below and capture its match into backreference number 1 «(\d+)»
   Match a single digit 0..9 «\d+»
      Between one and unlimited times, as many times as possible, giving back as needed (greedy) «+»
于 2012-06-01T16:37:24.547 回答
1

您可以使用 xpath 查询尝试更好的XPath Extractor ,例如

//td[@id='${id}']/text()

jmeter 变量在哪里${id}设置为您需要的值(例如 12072),或者只是

//td[@id='12072']/text()

如果您不需要参数化。

注意:确保在 XPath Extractor 的控制面板上选中Use Tidy(容错解析器)选项 - 使用 xpath 处理 html 响应是必需的。

于 2012-06-01T16:49:01.720 回答
1
"12072"[^>]+\>([^\<])

包括引号,以防您搜索 120。如果没有引号,它将匹配两行。

还获取标签的所有文本内容,只是数字。

< 和 > 可能不需要在 jmeter 中转义。如果没有,请删除前导斜杠。

于 2012-06-01T16:41:22.750 回答