Notepad ++ Regex(使用查找和替换)我想找到一个特定的单词,并用两个不同标签之间出现的字符串替换它

时间:2016-02-17 04:23:48

标签: regex replace find notepad++

以下是我要查看以下代码的内容:

;"0";"<br>Address: 999 Murrica Avenue Washington D.C.<br>Contact:";"";"";"LAYER";"4";"AHA";"925";"px";"500";"";"0";"0";"Cs";"41707.4695717593";"Cs";"41707.4695717593";"0";"0";"ADDY";"0";"0";"0";"0";"0";"0";"0";"0";"0";"0";"0";;"0"

理想情况下,我希望能够搜索ADDY并将其替换为&#34;地址之间的字符串:&#34;和&#34;(br)联系&#34;这样最终结果就像这样:

请注意,联系之前的BR是换行符的HTML

;"0";"<br>Address: 999 Murrica Avenue Washington D.C.<br>Contact:";"";"";"LAYER";"4";"AHA";"925";"px";"500";"";"0";"0";"Cs";"41707.4695717593";"Cs";"41707.4695717593";"0";"0";"999 Murrica Avenue Washington D.C.";"0";"0";"0";"0";"0";"0";"0";"0";"0";"0";"0";;"0"

我已经尝试过搜索,我偶然发现了这篇文章似乎做了类似于我想要的事情,我似乎无法弄清楚如何修改表达式以适合我。我有大约200个实例,每个都在他们自己的行上,我需要这样做。

这是我的第一篇文章,所以希望我已经写好了,以便它易于理解,提前谢谢!

文章链接 - Can notepad++ regex find a string and replace with a new string that contains the found string

更新 - 添加另一个代码示例

0000;"Name";"<br>Address: 9904 Coliseum Blvd Fria, AL 78903 <br>Contact: Joe Joe<br>Phone: 123-123-1234 <br><a href='mailto:asdfasfd@jfsdofj.com" title='Click to send a message'>Email</a><br>Type: Associated with the <a href='http://www.sdafsfs.org'>Association</a>.";"0";"ADDY";"";"";"LAYER";"4";"A.png";"925";"px";"500";"map";"0";"0";"Cs";"41707.4695717593";"Cs";"41707.4695717593";;"0";"0";"0";"0";"0";"0";"0";"0";"0";"0";"0";"0";"0";"0";;"0"

更新 - 蒂姆的修改后的表达会产生这个输出(他到了那里!)

0000;"Name";"<br>Address: 9904 Coliseum Blvd Fria, AL 78903 <br>Contact: Joe Joe<br>Phone: 123-123-1234 <br><a href='mailto:asdfasfd@jfsdofj.com" title='Click to send a message'>Email</a><br>Type: Associated with the <a href='http://www.sdafsfs.org'>Association</a>.";"0";"9904 Coliseum Blvd Fria, AL 78903 ADDY

2 个答案:

答案 0 :(得分:2)

CTRL + H 并在&#34;中查找内容&#34;框:

(.*Address: )(.*)(<br>Contact.*)(ADDY)(.*)

然后在&#34;替换为&#34;中输入以下内容:框:

$1$2$3$2$5

确保您的搜索模式设置为&#34;正则表达式&#34;或者Notepad ++会将正则表达式视为文字字符串(并且它不会起作用)。

我认为最有帮助你的Stack Overflow文章是here。它显示了如何在Notepad ++中使用正则表达式捕获组,这将允许您进行所需的替换。

答案 1 :(得分:0)

我会这样做:

  • 控制 + ħ
  • 找到:(?<=\bAddress: )(.*?)(<br>Contact.*?)(\bADDY\b)
  • 替换为:$1$2$1
  • 全部替换

确保您已选中Regular expression

<强>解释

(?<=\bAddress: )    : Positive look behind, we must have Address before
(.*?)               : group 1, everything between (NOT greedy) (ie. the address to duplicate)
(<br>Contact.*?)    : group 2, until first occurrence of <br> followed by Contact
(?:\bADDY\b)        : non capturing group, the string to be replaced