下拉列表的正则表达式
这是我的HTML代码。下拉列表的正则表达式
<select name="account.languagePreference"><option value="english">english</option>
<option value="japanese">japanese</option></select>
<select name="account.favouriteCategoryId"><option value="FISH">FISH</option>
<option value="DOGS">DOGS</option>
<option value="REPTILES">REPTILES</option>
<option value="CATS">CATS</option>
<option value="BIRDS">BIRDS</option></select>
问题: - 我要为第二个下拉列表正则表达式(答案应该是这样的,如下提)
Match[][]=FISH
Match[][]=DOGS
Match[][]=REPTILES
Match[][]=CATS
Match[][]=BIRDS
,请帮助我,我不能够提取完整的匹配。
我已经使用正则表达式作为
<select name="account.favouriteCategoryId">.+|\s+<option value="(.*?)">.*?</option>.+|\s+</select>
并得到O/P为
Match count: 6
Match[1][0]=
<option value="japanese">japanese</option></select></td>
Match[1][1]=japanese
Match[2][0]=<select name="account.favouriteCategoryId"><option value="FISH">FISH</option>
Match[2][1]=null
Match[3][0]=
<option value="DOGS">DOGS</option>
Match[3][1]=DOGS
Match[4][0]=
<option value="REPTILES">REPTILES</option>
Match[4][1]=REPTILES
Match[5][0]=
<option value="CATS">CATS</option>
Match[5][1]=CATS
Match[6][0]=
<option value="BIRDS">BIRDS</option></select></td>
Match[6][1]=BIRDS
但我想作为顶部(仅第二个下拉列表值)
感谢
提
使用后处理器CSS/JQuery Extractor有以下几点:
Reference Name: category (the variable)
CSS/Jquery expression: select[name=account.favouriteCategoryId]> option
Match No. -1 (return all options)
你将得到变量:
category_1=FISH
category_2=DOGS
category_3=REPTILES
category_4=CATS
category_5=BIRDS
您可以用做正则表达式中提取:
Regular Expression: favouriteCategoryId">(([\S\s]*)<option value="([^"]+)*">(\w+)<\/option>([ \s\t\n]+)([\S\s]*)+)
Match No: -1 (to get all)
感谢它正在工作,但我需要正则表达式因为我必须使用正则表达式提取器。可能吗? –
添加正则表达式解决方案 – user7294900
It is not recommended to use regular expressions for parsing HTML,我建议去为XPath Extractor代替。
- 添加的XPath提取作为返回上面的HTML请求的孩子
-
,将其配置如下:
- 参考名称:任何有意义的事,即
option
- XPath表达式:
//select[@name='account.favouriteCategoryId']/option/@value
- 如果反应不XTML /兼容HTML检查
Use Tidy
箱
- 参考名称:任何有意义的事,即
演示:
参考文献:
感谢德米特里它为我工作,但是有可能使用纯正则表达式? –
由于您的HTML内容是嵌套的,纯正规表达式不适合这项工作。相反,使用解析器。 –
正则表达式与下拉框有什么关系?这点我不清楚。 –
其实我正在使用jmeter进行负载测试,所以我需要这些值在jmeter中放入更多的HTTP请求。 –
考虑在这里使用HTML解析器而不是纯正则表达式。 –