下拉列表的正则表达式
Regular expression for dropdown list
这是我的 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
但我想在顶部提到(仅第二个下拉列表的值)
感谢
将 Post 处理器 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)
It is not recommended to use regular expressions for parsing HTML, I would suggest going for XPath Extractor 代替。
- 将 XPath Extractor 添加为上述 returns HTML
请求的子项
配置如下:
- 参考名称:任何有意义的东西,即
option
- XPath 表达式:
//select[@name='account.favouriteCategoryId']/option/@value
- 如果响应不是 XTML/HTML-compliant 检查
Use Tidy
框
演示:
参考文献:
这是我的 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
但我想在顶部提到(仅第二个下拉列表的值)
感谢
将 Post 处理器 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)
It is not recommended to use regular expressions for parsing HTML, I would suggest going for XPath Extractor 代替。
- 将 XPath Extractor 添加为上述 returns HTML 请求的子项
配置如下:
- 参考名称:任何有意义的东西,即
option
- XPath 表达式:
//select[@name='account.favouriteCategoryId']/option/@value
- 如果响应不是 XTML/HTML-compliant 检查
Use Tidy
框
- 参考名称:任何有意义的东西,即
演示:
参考文献: