我正在尝试从特定下拉框中获取所有值
示例:
<select id='countries'>
<option value='0'>All Categories</option>
<option value='1'>USA</option>
<option value='2'>China</option>
<option selected='selected' value='3'>India</option>
<option value='4'>Japan</option>
</select>
<select id='Gender'>
<option value='0'>All Categories</option>
<option selected='selected' value='1'>Male</option>
<option value='2'>Female</option>
</select>
<select id='Body_ddlSite'>
<option value='1'>Select-</option>
<option value='2'>ECOSPACE</option>
<option selected='selected' value='3'>MILLENNIUM TOWERS</option>
<option value='4'>ABMIT-MT</option>
</select>
注意:将上面的html视为普通字符串
结果应该是: 对于id ='性别'
0
1
2
或
All Categories
Male
Female
现在,我试图通过使用此正则表达式获取指定符<option>
块的所有<select>...</select>
:
(?<=id='Gender'>)((.|\n)*?)(?=</select>)
以上正则表达式的结果:
<option value='0'>All Categories</option>
<option selected='selected' value='1'>Male</option>
<option value='2'>Female</option>
但现在我想获取与之相关的所有值。
答案 0 :(得分:2)
这对我有用:
(?:\G(?!\A)|\bid='Gender'>)\s*<option\s[^<]*?value='(?<val>\d+)'>(?<txt>[^<]*)</option>