我需要在``特定选择标记中提取选项。是否可以使用一个正则表达式完成或者我必须首先捕获select的内部html然后选项? 这是html的一个例子:
<select id="select_id">
<option selected value="">Select Type</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
.....
感谢。
答案 0 :(得分:1)
虽然可以构建一个可以做你想要的正则表达式,但我真的很乐意通过DOM来做这件事,除非你有理由不使用DOM。没有标签可以提供语言或平台,因此很难比这更具体。
尝试使用正则表达式解析HTML而不是将其加载到DOM中或使用浏览器中通过Javascript提供的DOM来解决HTML的任何特定原因?
如果您只有这样的代码段,则可以使用
value="(\d*)"
其中(\ d *)将捕获每个选项的值。
我看到的问题是你必须通过另一个正则表达式缩小搜索范围以获得这样一个简单的查询。像
这样的东西<select.*>(.*?)</select>
外循环中的在大多数情况下都有效。然而,DOM是你的朋友,避免像这样的黑客攻击。
答案 1 :(得分:0)
我会寻找一些库DOM支持,但如果必须,请执行类似的操作:
"<select.*?>.*?<option value=\"(\d+)\">" + select_id + "</option>.*?</select>"
其中select_id
是选项选项。此外,请确保您已启用多行支持。