Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
正则表达式读取HTML标记_Html_Regex_Tags - Fatal编程技术网

正则表达式读取HTML标记

正则表达式读取HTML标记,html,regex,tags,Html,Regex,Tags,我正在寻找一个正则表达式,它匹配由几行组成的文本中所有使用的HTML标记。应在以下行中读出“b”、“p”和“脚本”: <b> <p class="normalText"> <script type="text/javascript"> 有这样的事吗?我的出发点是,它应该以“”开头,但同时,它不应该包括起始字符“我不知道你用的是什么系统,但在一定程度上是可以做到的。看看基于flex的在线应用程序。查看已发布的>XML正则表达式示例。你会有一个想法。有许多

我正在寻找一个正则表达式,它匹配由几行组成的文本中所有使用的HTML标记。应在以下行中读出“b”、“p”和“脚本”:

<b>
<p class="normalText">
<script type="text/javascript">


有这样的事吗?我的出发点是,它应该以“”开头,但同时,它不应该包括起始字符“我不知道你用的是什么系统,但在一定程度上是可以做到的。看看基于flex的在线应用程序。查看已发布的>XML正则表达式示例。你会有一个想法。

有许多类似的问题,所以:


  • 一般的共识是,最好不要使用正则表达式来解析HTML,而不是通过应用DOM解析器并遍历DOM树来正确解析HTML。

    一旦开始考虑浏览器有时会解析的所有特殊情况和格式错误的HTML,就几乎不可能对HTML进行正则化。尽管如此,我认为在不使用捕获组的情况下获取名称可能会很有趣,因此我也向您介绍了以下解决方案:

    (?<=<)\w+(?=[^<]*?>)
    

    (?找不到一个能帮助我解决这个问题的例子,但这是一个很好的资源!我正在使用ASP.net正则表达式。说真的,在这不好笑之前,这已经被问了很多次了。@cletus,可能吧,我很高兴看到下面的链接在哪里,不,下面的链接没有涉及到手头的问题。你可能想将链接文本从URL更改为问题text所以它更具可读性。是的,我见过它们。不过我并不真的担心这里的最佳实践,因为它不会最终出现在应用程序中。我所看到的最大问题是匹配第一个字符"@米塞特:用括号把你感兴趣的东西分组。@cletus:我可能会,但我是个懒惰的混蛋。此外,考虑到它们都与同一个问题有关,所以标题并不重要。它只是为一个例子而设计的,不需要防弹。这非常有效,我看到了排除函数的工作原理。非常感谢。@cletus:这是什么程度的错误,他还没有涵盖?