我正在尝试提取出现在我正在喂食的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,肯定有办法做到这一点?
帮助将受到高度赞赏。
答案 0 :(得分:3)
您的比赛将在第1组
"12072"[^>]*>(\d+)
这是一个解释
Match the characters “12073” literally «12073»
Match any character that is NOT a “>” «[^>]*»
Between zero and unlimited times, as many times as possible, giving back as needed (greedy) «*»
Match the character “>” 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) «+»
答案 1 :(得分:1)
"12072"[^>]+\>([^\<])
如果您正在搜索120,则会包含引号。如果没有引号,则会匹配两行。
还获取标签的所有文本内容,坚果只是数字。
&LT;和&gt;可能不需要在jmeter中进行转义。如果没有,请删除前导斜杠。
答案 2 :(得分:1)
您可以使用xpath查询(例如
)尝试更好XPath Extractor//td[@id='${id}']/text()
其中${id}
是jmeter变量设置为您需要的值(例如12072),或者只是
//td[@id='12072']/text()
如果您不需要参数化。
注意:确保在XPath Extractor的控制面板上检查Use Tidy (tolerant parser)选项 - 使用xpath处理html响应时需要。