从html中删除所有属性,仅使用regex返回标记名称

时间:2011-03-15 11:23:24

标签: ruby regex

正如标题所说,我如何使用正则表达式或其他一些红宝石魔法在ruby中实现以下目标?

输入

<a href="#" class="css-class">Link</a>
<img src="image.jpg" />

所需输出

a
img

提前致谢

2 个答案:

答案 0 :(得分:0)

我同意Tomalak的观点,但如果你仍然想要使用正则表达式方法,你可以使用以下内容:

\<(?<tag>[^ ]+)[^\>/]*(\>[^\<]*</\k<tag>\>|/\>)

我只使用C#正则表达式引擎测试它,我希望它也能用于ruby。

答案 1 :(得分:0)

我不知道如何在ruby中处理正则表达式匹配,但我非常确定您可以从正则表达式中检索

对于你的情况正则表达式:

<([^\s]*).*(</.*>|/>)

应该这样做。

在输入字符串上使用它后,每个匹配项中只有#1组中的标记名称。