【问题标题】:Regex that matches any HTML tag with the content inside将任何 HTML 标记与内部内容匹配的正则表达式
【发布时间】:2014-12-01 12:19:50
【问题描述】:

我想使用正则表达式来匹配 HTML 标签“head”和其中的文本,以便我可以轻松删除它们。我正在使用一个使用正则表达式语法的查找和替换工具,它在一次替换多个文件方面非常有用。

我尝试了很多语法,但总是失败。

http://regex101.com/r/aZ6pN5/2

有人可以帮忙吗?

【问题讨论】:

    标签: html regex


    【解决方案1】:

    将您的正则表达式中的.* 替换为[\S\s]*?,这样它也可以匹配换行符。你不能在 JavaScript 中使用sDOTALL 修饰符。

    <head.*?>([\s\S]*?)<\/head>
    

    [\s\S]*? 这将执行零个或多个空格或非空格字符的非贪婪匹配。

    DEMO

    替换head标签的内容。

    (<head\b[^<>]*>)[\s\S]*?(<\/head>)
    

    替换字符串:

    $1stringyouwant$2
    

    DEMO

    【讨论】:

    • 如果您的工具支持 dotall 模式,那么您可以使用这个(?s)&lt;head.*?&gt;(.*?)&lt;\/head&gt; 正则表达式。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-02
    • 2012-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多