我需要从字符串中获取所有没有属性的HTML标记。我尝试了正则表达式:< *([^/][^ ]*).*?>
但它仍然获取HTML标记和属性。
任何人都可以帮我找到一个正则表达式。
来自<html><head></head><body class="body"><a href="abc.html"></a></body>
,
我想获得<html><head></head><body><a></a></body>
。
正则表达式只获取html标签
到html头部身体一个身体
谢谢大家。
答案 0 :(得分:1)
虽然尝试使用正则表达式解析HTML一般不是一个好主意,但在这种情况下它可以正常工作。
尝试以下替换
s/<( *\w+)( [^>/]+)?(/?)>/<$1$3>/g
这与开始尖括号匹配,然后捕获可能的空格和任何单词字符([A-Za-z0-9_]
)。然后,如果有一个空格,后跟任何既不是斜线也不是结束尖括号的字符,那么它就是匹配的。然后它捕获一个可选的斜杠和结束尖括号。
它用开角支架,捕获的标签,捕获的可选斜线和关闭角括号替换它。
这假设没有开口或关闭尖括号不标签的一部分。