Notepad++中跨多行匹配删除XML格式推特RT内容的正则方案
解决Notepad++中匹配并删除多行XML格式转发推特的正则方案
你的核心问题是原正则里的.默认不匹配换行符,所以跨多行的转发内容抓不到。直接用下面的正则就能覆盖单行和多行的转发场景:
<tweet id[\s\S]*?>RT @[\s\S]*?</tweet>
正则说明
[\s\S]:匹配任意字符(包括换行符),代替原来的.,完美解决跨多行匹配的问题*?:非贪婪匹配,确保只会匹配从<tweet id开头到最近的</tweet>结尾的转发内容,不会误吞其他正常推文
Notepad++操作步骤
- 按
Ctrl+H打开替换窗口 - 切换到「正则表达式」模式,务必勾选「匹配换行符」(部分版本显示为「.匹配换行符」)
- 在「查找目标」框粘贴上面的正则
- 「替换为」框留空,点击「全部替换」即可批量删除所有转发内容
验证说明
这个正则能完美匹配你提供的两类示例:
- 元数据跨多行的转发(比如
referencedTweetAuthorDescription里带换行的情况) - 包含emoji的转发内容
内容的提问来源于stack exchange,提问作者Tara
相关产品推荐
相关产品推荐

