Notepad ++中的正则表达式在字符串之前找到缺失的单词

时间:2012-10-19 14:15:12

标签: regex notepad++ replace

我有一些html文件,如果这些话我想找到它们:

id="s"

在他们之前没有此标记

<div

如果没有,正则表达式会添加它,结果是:

<div id="s"

将所有内容留在div之前或之后id =“s”。

鉴于:

  • id =“s”可以有空格或标签
  • 它后面有一些词语
  • 缺少的“&lt; div”可能在它前面有一行或在id =“s”
  • 之前的同一行

1 个答案:

答案 0 :(得分:1)

最简单的方法可能是搜索所有出现在任何空格后面的<div id="s"id="s",并用<div id="s"替换其中任何一个。 (也就是说,不是寻找id="s",而是向后查找<div,而只是在搜索中包含<div。)

找到:<div\s*id="s"|\s*id="s"
替换为:<div id="s"

在:

test
test <div
id="s"
test
id="s"
test <div id="s"
test    id="s"
<div    id="s"
test   id="s"
<div  id="s"

替换全部:

test
test <div id="s"
test<div id="s"
test <div id="s"
test<div id="s"
<div id="s"
test<div id="s"
<div id="s"

您可以在搜索和替换字段中添加前导空格,或者在test<div id="s"之间执行另一次传递以放置所需的空间。