正则删除除比赛以外的所有内容



我有一个.ahk给我下面的东西。我只想保留包含style的HTML标签中的内容。

在下面的示例中,我只想保留<b style="color: rgb(34, 34, 34)>;"><span>A text </span></b>并在之前和之后删除所有内容。

这个正则是我想要的:(<[b div span p] style=".*">.*</.*[div span p b]>),但我无法保留此匹配并删除其他内容。

我尝试了$ 2和 2的替代,但它不起作用

匹配:

([.rn]*)(<[b div span p] style=".*">.*</.*[div span p b]>)([.rn]*)

第一组应匹配从头开始到包括的一切,第三组应匹配从和包括结束到结尾的所有内容。那我只能保留第二组。

替换:

2

这是我的尝试:https://regex101.com/r/bkqq0je/2

---------------------------
ahk html clipboard.ahk
---------------------------
Version:0.9
StartHTML:0000000159
EndHTML:0000002912
StartFragment:0000000195
EndFragment:0000002876
SourceURL:https://en.wikipedia.org/wiki/Genghis_Khan
<html>
<body>
<!--StartFragment--><b style="color: rgb(34, 34, 34)>;"><span>A text </span></b><!--EndFragment-->
</body>
</html>
---------------------------
OK   
---------------------------

您可以使用以下方式:

查找:.*<!--StartFragment-->(.*)<!--EndFragment-->.*
替换:$1
修饰符:gs

请参阅Regex101.com。

请注意,s修饰符使.还匹配新线字符。如果您碰巧使用Notepad ,则可以使用复选框设置该选项。

您是否使用记事本 ?如果是这样,请进行命中Ctrl + H,然后执行以下操作:

  • 找到什么:.*(<bs[^>]*>.*</b>).*
  • 替换为:$1
  • 搜索模式:Regular Expressions
  • 检查"匹配新线"
  • 单击"替换"然后完成

相关内容

  • 没有找到相关文章

最新更新