【问题标题】:Regex for get all html tag without attribute用于获取所有没有属性的 html 标记的正则表达式
【发布时间】:2014-02-21 22:04:44
【问题描述】:

我需要从字符串中获取所有没有属性的 HTML 标签。我尝试了正则表达式:< *([^/][^ ]*).*?>,但它仍然获得 HTML 标记和属性。

谁能帮我找到一个正则表达式来得到这个。

示例:

来自<html><head></head><body class="body"><a href="abc.html"></a></body>, 我想得到<html><head></head><body><a></a></body>

和一个正则表达式只获取 html 标记

获取 html 头头身体 a 身体

谢谢大家。

【问题讨论】:

标签: c regex


【解决方案1】:

虽然尝试使用正则表达式解析 HTML 通常不是一个好主意,但在这种情况下它可以工作。

尝试以下替换

s/<( *\w+)( [^>/]+)?(/?)>/<$1$3>/g

这匹配左尖括号,然后捕获可能的空格和任何随后的单词字符 ([A-Za-z0-9_])。然后,如果有一个空格后跟任何既不是斜线也不是右尖括号的字符,它匹配那个。然后它捕获一个可选的斜线和右尖括号。

它用一个左尖括号、捕获的标记、捕获的可选斜杠和一个右尖括号替换它。

这假设没有开或关尖括号是不是标签的一部分。

【讨论】:

    猜你喜欢
    • 2013-09-05
    • 1970-01-01
    • 1970-01-01
    • 2011-10-07
    • 2011-01-24
    • 1970-01-01
    • 1970-01-01
    • 2013-06-16
    • 1970-01-01
    相关资源
    最近更新 更多