0
我知道正則表達式不是正確的軌道來執行此解析工作,但它是從我身邊推薦。正則表達式解析表和從HTML中選擇
如果我有下面的HTML這個。我想從html表中解析所有選擇信息。對於這個我已經使用
<table id='options_table'>\s*?(.+)?\s*?</table>
但是,這上面給我空結果。
,然後解析所有選擇從上面的正則表達式返回我會用
<SELECT.*?>(.*?)<\/SELECT>
但兩者越來越空的結果之上。
什麼應該是表和選擇正則表達式(從解析表html)?
HTML部分
<table id='options_table'>
<tr><td colspan=3><font size="3" class="colors_productname">
<i><b>Color</b></i>
</font>
<br /><table cellpadding="0" cellspacing="0" border="0"><tr><td><img class="vCSS_img_line_group_features" src="/v/vspfiles/templates/192/images/Line_Group_Features.gif" /></td></tr></table>
</font></td></tr>
<tr>
<td align="right" vAlign="top">
<img src="/v/vspfiles/templates/192/images/clear1x1.gif" width="1" height="4" border="0"><br />
</td><td></td><td>
<SELECT name="SELECT___S15FTAN01___29" onChange="change_option('SELECT___S15FTAN01___29',this.options[this.selectedIndex].value)">
<OPTION value="176" >Ivory/Grey</OPTION>
</SELECT>
</td></tr>
<tr>
<td align="right" vAlign="top">
<img src="/v/vspfiles/templates/192/images/clear1x1.gif" width="1" height="4" border="0"><br />
</td><td></td><td>
<SELECT name="SELECT___S15FTAN01___31" onChange="change_option('SELECT___S15FTAN01___31',this.options[this.selectedIndex].value)">
<OPTION value="167" >0/3 months</OPTION>
<OPTION value="169" >3/6 months</OPTION>
<OPTION value="175" >6/9 months</OPTION>
</SELECT>
</td></tr>
</table>
總是推薦使用一些html解析器。正則表達式不是匹配html標籤的正確工具 – nu11p01n73R
我知道正則表達式不適合做這個解析工作,但它是從我這邊推薦的。 –
根據您使用的編程語言,您可能不得不使用類似於PHP中的雙反斜槓。因爲反斜槓本身需要被轉義,否則你會例如跳過's'。 – syck