我尝试通过Visual Studio搜索和替换使用正则表达式选择td
标记。我使用<td (?s).*) >
正则表达式,但它不起作用。
示例HTML:
<td style="width: 54pt; border-style: none solid solid; border-right-color: windowtext; border-bottom-color: windowtext; border-left-color: windowtext; border-right-width: 1pt; border-bottom-width: 1pt; border-left-width: 1pt; padding: 0cm 5.4pt; height: 14.25pt;" nowrap="" valign="top" width="72">
请告知。
答案 0 :(得分:1)
您可以使用这个简单的正则表达式:
<td [^>]*>
如果属性是可选的,请使用
<td(?: [^>]*)?>
<td [^>]*>
匹配<td
后跟一个空格,除>
以外的零个或多个字符,直到第一个>
。 (?:...)?
是一个可选的非捕获组,可以使<td
和>
之间的文本匹配。
如果>
可以在<td>
个节点中显示为文字,请使用[^<]*?
代替[^>]*
。
还有一点需要注意:如果<td
出现一行,其余行在下一行(或更多行),请使用[\s\r]+
代替文字空间:
<td(?:[\s\r]+[^>]*)?>
事实上,VS搜索和替换正则表达式与\s
的回车符不匹配。