【发布时间】:2017-07-25 17:02:45
【问题描述】:
所以,我得到了一些需要提取值的 html 表,做了一个正则表达式来获取我想要的值。
html 表格可以是以下两种格式:
<td height="20" style="width:59px;height:20px;">1</td>
<td style="width:212px;">Mendes, Paulo [AA]</td>
<td style="width:99px;">39</td>
<td>8</td>
<td style="width:85px;">$10,000</td>
</tr><tr height="20"><td height="20" style="width:59px;height:20px;">2</td>
<td style="width:212px;">Campos, Miguel [AC]</td>
<td style="width:99px;">37</td>
<td>6</td>
<td style="width:85px;">$5,000</td>
还有一个
<td>1</td>
<td>Mendes, Paulo [AA]</td>
<td>39</td>
<td>8</td>
<td>$10,000</td>
</tr><tr height="20"><td>2</td>
<td>Campos, Miguel [AC]</td>
<td>37</td>
<td>6</td>
<td>$5,000</td>
对于没有样式的示例,我可以使用此正则表达式获得我想要的值:
<td>(\d+)<\/td>\n+\t*<td>([\w+, ]+) \[(\w{2})\]<\/td>
它用于php,我一直在使用https://regex101.com/首先测试正则表达式。
现在要获取带有样式的表格的值,我没有运气。
尝试了“完美匹配”:
<td height\=\"20\" style\=\"width\:59px\;height\:20px\;\">(\d+)<\/td>\n+\t*<td style\=\"width\:212px\;\">([\w+, ]+) \[(\w{2})\]<\/td>
但它没有抓住我想要的。甚至尝试进行否定搜索,但它仍然不起作用。我做错了什么?
【问题讨论】:
-
哦...“因为正则表达式无法解析 HTML。”