正则表达式删除记事本++中标签之间的文本

Posted

技术标签:

【中文标题】正则表达式删除记事本++中标签之间的文本【英文标题】:Regex to remove text between tags in Notepad++ 【发布时间】:2012-08-26 21:13:46 【问题描述】:

我有这样的代码

<wp:post_name>artifical-sweeteners-ruin-your-health</wp:post_name>

我想改成

<wp:post_name></wp:post_name>

删除标签内的所有内容。

【问题讨论】:

请编辑您的问题。您的问题不完整 【参考方案1】:

搜索

<wp:post_name>[^<>]+</wp:post_name>

全部替换为

<wp:post_name></wp:post_name>

这假设标签不能嵌套(这使得正则表达式的使用非常安全)。如果可能存在其他标签,则需要搜索

(?i)<wp:post_name>.*?</wp:post_name>

代替(相同的替换字符串)。然而,这可能只适用于最新版本的 Notepad++,它带来了主要的正则表达式引擎大修,而且风险更大,因为如果嵌套的 &lt;wp:post_name&gt; 标签可能发生,它会弄乱你的文件。

【讨论】:

太棒了!正是我想要的。这在 BBedit for Mac 中使用 grep 在查找和替换功能中运行良好。

以上是关于正则表达式删除记事本++中标签之间的文本的主要内容,如果未能解决你的问题,请参考以下文章

java 使用正则表达式过滤HTML中标签

java 使用正则表达式过滤HTML中标签

python 正则表达式 提取网页中标签的中文

notepad++正则表达式删除大括号之间的所有文本

如何避免使用 Python re 库删除文本文件中正则表达式标志之间的文本块?

正则表达式替换以删除 html 标记之间的空格