我想使用**Regular Expression**
(与pcre兼容)来选择XML或HTML文件中的表格单元格。
此单元格被扩展为包含其他元素以及相关属性和值的几行。这个
单元格应该在最后一列。
由于某些原因,我不能也不想使用“**. matches newline**
”选项。
例如,在这段代码中:
已编辑:
<table colcount="4">
<tr>
<td colspan="2">
<para><text> Mike</text></para>
</td>
<td>
<tab />
</td>
<td1>
<para><text>Jack</text></para>
<para><text>Sarah</text></para>
</td>
</tr1>
<tr>
<td>
<para><text>Bob</text></para>
<para><text>Rita</text></para>
</td>
<td2 colspan="3" with>
<para><text>Helen</text></para>
</td>
</tr2>
<tr>
<td style="with:445px;">
<para><text>Sam</text></para>
</td>
<td>
<para><text>Emma</text></para>
<para><text>George</text></para>
</td>
<td>
</td>
<td3 colspan="">
<tab />
</td>
</tr3>
</table>
/已编辑
我想找到并选择整个最后一个单元格及其开始和结束标记(<td
和</td>
)
以及对应行(</tr>
)的结束标签,即:
已编辑:
下面是我想使用RegEx在上面的表中选择的内容:
从<td1 to </tr1>
-或从<td2 to </tr2>
-或从<td3 to </tr3>
/已编辑
格式(缩进和新行必须保留),我的意思是我不能把,例如</tr>
位于单元格的关闭标记(</td>
)前面。Indentation is only **space character**.
谢谢你的帮助...
1条答案
按热度按时间mrfwxfqh1#
你可以用regex做的最好的事情是:
但这有点难看,资源密集型,并打破当你有嵌套表。一个更好的方法确实是为您使用的任何编程语言使用XML或HTML解析器。
如果你想从每一行中选择最后一个单元格,就像你更新的问题所建议的那样,省去负向前看,如下所示:
示例如下:http://refiddle.co/gt2