正则表达式匹配有效标记语言标记的格式

时间:2015-12-16 11:08:28

标签: regex

我正在尝试为所有类型标签编写正则表达式,无论是html还是xml。 我为此写了两个正则表达式

  1. <(\"[^\"]*\"|'[^']*'|[^'\">])*>
  2. <html.*>(.*?)</html>
  3. 这些匹配所有有效标签,,但它也匹配无效标签:

    • <"font size=12">

    ...所以我只想要有效标签的正则表达式。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

有些人通过代码覆盖为此工作,以获得一个好的HTML / XML标记匹配器(许多陷阱!)

其中一个有效的解决方案可能是:http://haacked.com/archive/2004/10/25/usingregularexpressionstomatchhtml.aspx/

正则表达式是<\/?\w+((\s+\w+(\s*=\s*(?:".*?"|'.*?'|[^'">\s]+))?)+\s*|\s*)\/?>

它匹配单独的开始+结束标记,如果你想删除标签很有用(实际上你不能期望真正用Jithin回答你的简单正则表达式)