2015-02-11 105 views
-2

我使用Notepad ++ v6.4.5来编辑html代码。我需要找到并替换html标签之间的文本。例如:使用Notepad ++替换html标记之间的文本的正则表达式

</a> 
<h3></h3> 
<p></p> 
</div> 
... ... 

<span class="product-thumb-title">Here is title sample</span> 
OLS-34/-35/-36       </a> 
</div> 

我需要移动文本:

</a> 
<h3>Here is title sample</h3> 
<p>OLS-34/-35/-36 </p> 
</div> 

,并删除

<span class="product-thumb-title">Here is title sample</span> 
OLS-34/-35/-36       </a> 
</div> 

文字和模型变量,它们都不同,有空格和换行(如示例中所示)。我如何使用Notepad ++来做到这一点?

+1

正则表达式将是可怕的完成这个任务。 [**请参阅**(https://regex101.com/r/zR4dI1/1) – hwnd 2015-02-11 20:40:41

+0

这是有用的代码,但在查找代码时发生错误,在某些地方,它一次找到/突出显示三个部分,有时两件,而不是一对。这里是完整的[html](http://jsfiddle.net/u4hudz1y)。 – minto 2015-02-11 22:53:11

回答

0

用正则表达式解析标签是一个混乱的噩梦,但给这一个去..

随着. matches newline检查,你可以这样做:

Find: </a>\s*<h3></h3>\s*<p></p>\s*</div>[\s.]*?<span.*?>\s*(.*?)\s*</span>(.*?)</a>\s*</div> 
Replace: </a>\r\n<h3>\1</h3>\r\n<p>\2</p>\r\n</div> 
+0

是的,它工作得很好,谢谢。 – minto 2015-02-12 12:52:19

相关问题