我有一个.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
- 检查"匹配新线"
- 单击"替换"然后完成