我有这样的HTML:
<div id="content" style="cursor: pointer;">
<code style="display: none;"> </code><code style="display: none;"> </code><code style="display: none;"> </code><code style="display: none;"> </code><code style="display: none;"> </code><code style="display: none;"> </code><div class="container clearfix">
<code style="display: none;"> </code><code style="display: none;"> </code><code style="display: none;"> </code><code style="display: none;"> </code><code style="display: none;"> </code><code style="display: none;"> </code> <code style="display: none;"> </code>
我试过在Vim中这样做:
:%s/\<code style="display: none;"\> \</code\>//g
但是Vim告诉我有尾随的字符。
正确的方法是什么或删除这些标签?
答案 0 :(得分:1)
我发现如果用HTML替换,除了/之外,使用其中一个命令分隔符会更容易。
e.g。
:%s+<code style="display: none;"> </code>++g
答案 1 :(得分:1)
你不需要逃避你逃脱的角色。实际上,\<
是vim正则表达式单词边界的转义序列。您只想使用<
。如果您将/
用作命令分隔符,则需要对:%s/<code style="display: none;"> <\/code>//g
进行转义,但这就是全部。
<code>
如果要删除所有>.*</code>
块,无论它们是什么,您都可以使用:%s/<code style="display: none;">.\{-}<\/code>//g
从每行的第一个到最终的开始和结束标记中贪婪地删除。如果你可能不想删除每个标签之间的其他东西,你可以使用一个不情愿/非贪婪的量词:
dat
如果您不确切地知道您尝试编辑的页面看起来很难提供更多建议,但在上面的情况下,您可以删除这两行,因为它们对它们毫无用处。您还可以使用SELECT rs.RowNo, rs.DATE, rs.NAME
FROM (
SELECT t1.ROWNO, t1.DATE, t1.NAME, Rank() OVER (
PARTITION BY t1.DATE ORDER BY newid()
) AS Rank
FROM table1 t1
) rs
INNER JOIN Table2 T2 ON rs.DATE = t2.DATE
WHERE Rank <= t2.NoofTran
删除单个标记。
答案 2 :(得分:0)