我有一个 HTML 表格,其中可能缺少或格式错误
colspan
值:
<table border="1">
<tbody>
<tr>
<th>A</th>
<th>B</th>
<th>C</th>
<th>D</th>
<th>E</th>
<th>F</th>
<th>G</th>
<th>H</th>
<th>I</th>
<th>J</th>
<th>K</th>
<th>L</th>
<th>M</th>
</tr>
<tr>
<td >1</td>
<td colspan="2" >2</td>
<td colspan="-2" >3</td>
<td colspan="*2#%@!" >4</td>
<td colspan="2.7" >5</td>
<td colspan="-2.3" >6</td>
<td colspan="2e1" >7</td>
<td colspan=" 2" >8</td>
</tr>
</tboby>
</table>
我想使用 HTML4~5 规范获取每个
colspan
的 td
值(我目前正在尝试找出 W3C 规范告诉我们的内容)。现在假设上面代码片段的结果是我的预期输出:
考虑使用正则表达式模式匹配值来提取前导数字字符,忽略以第一个非数字字符开头的所有字符。然后成功匹配产生前导整数;其他所有结果均为 1:
//td/(if (matches(@colspan,'^\s*\d+'))
then replace(@colspan, '^\s*(\d+).*$', '$1')
else '1')