首先,我是一个写正则表达式的新手。
我有两个下拉框,FromCity和ToCity,它们都有HTML选项(作为下拉框)。但是,这两个下拉框都有相同的左右边界,因此无法在运行时提取下拉框的特定值。
例如:
从城市坠落
<select name="fromPort" class="form-inline">
<option value="Paris">Paris</option>
<option value="Philadelphia">Philadelphia</option>
<option value="Boston">Boston</option>
<option value="Portland">Portland</option>
<option value="San Diego">San Diego</option>
<option value="Mexico City">Mexico City</option>
<option value="São Paolo">São Paolo</option>
</select>
到城市坠落
<select name="toPort" class="form-inline">
<option value="Buenos Aires">Buenos Aires</option>
<option value="Rome">Rome</option>
<option value="London">London</option>
<option value="Berlin">Berlin</option>
<option value="New York">New York</option>
<option value="Dublin">Dublin</option>
<option value="Cairo">Cairo</option>
</select>
我可以使用-<option value="(.*?)">
获取城市名称,但无法区分哪个值对应于哪个下拉列表。
有没有更好的方法使用正则表达式来处理这个问题?
1条答案
按热度按时间htrmnn0y1#
Using regular expressions for parsing HTML is not the best option,我建议使用CSS选择器提取器
通过这种方式,您可以将“起始”城市名称设置为
select[name=fromPort] option
,将“终止”城市名称设置为select[name=toPort] option
演示:
更多信息: