下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

怎样使用正则表达式删除所指定的HTML标签呢?

作者:课课家教育     来源: http://www.kokojia.com点击数:1315发布时间: 2017-02-19 15:00:13

标签: HTML标签编程代码字符串

大神带你学编程,欢迎选课

  超文本标记语言(外国语简称:html)标记标签通常被称为HTML标签,HTML标签是HTML语言中最基本的单位,HTML标签是HTML(标准通用标记语言下的一个应用)最重要的组成部分。那么怎样使用正则表达式删除所指定的HTML标签呢?现在我们就一起来学习一下吧。

  一、正则表达式

  大家知道什么是正则表达式吗?如果不太了解的话,小编在这里就简单的和大家介绍一下吧。正则表达式,又称正规表示法、常规表示法(英语:RegularExpression,在编程代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。

怎样使用正则表达式删除所指定的HTML标签呢?_HTML标签_编程代码_字符串_课课家

  大家在抓取某一个网页里面的数据信息以后(就比如说:描述),假如是按照原来的样子显示出来的话,有可能会因为它里面包含了一些并没有闭合的HTML标签,从而就将原有的格式打乱了。当然啦,也有可能因为它里面使用了较为让人"费解"的HTML标签,从而将预订的网页格式给搅乱了.假如说我们全盘删除里面的HTML标签,这样子操作也可能会造成一些阅读上面的困难(就比如说img,a等等这些标签)。要问小编有什么好的建议?小编的建议:最好就是保留一部分标签,删除一部分标签。

  在正则表达式里面,我们需要判断一下包含某一些字符串(字符串是由数字、字母、下划线组成的一串字符。)是十分容易理解的。那么问题就来了,怎样判断一下不包含某一些字符串(在这里大家要注意咯,这指的是字符串,然而并不是字符,是某一些,不是某一个)的确是一件令人费解的事情啊.大家可以参考一下下面的正则表达式,如下所示:<(?!((/?\\s?li)|(/?\\s?ul)|(/?\\s?a)|(/?\\s?img)|(/?\\s?br)|(/?\\s?span)|(/?\\s?b)))[^>]+>

  相信大家可以看到其实这一个正则表达式所代表的意思就是:判断一下HTML标签里面不包含li/ul/a/img/br/span/b等等这些标签,就从上面的要求来说,是需要删除除了这里所举列出来的HTML标签。这也是小编摸索了非常长的时间才搞出来的,大家不妨可以尝试一下。

  (?!exp)这一个正则表达式匹配后面跟的并不是exp的位置,/?\\s?这一个正则表达式最初的时候小编尝试着将其编写到最前面的位置<后面,但是最终还是以测试失败告终了.

  二、示范例子

  接下来小编就为大家演示一个较为简单的函数吧,这一个函数所要做的事情就是要将保留的TAG通通串起来,然后生成一个正则表达式,接着就要将一些并不需要的TAG通通删除。具体的函数,如图所示:

示范例子

  大家可以发现上面这一个正则表达式里面是有bug的,什么bug呢?那就是假如我们将li标签保留了,但是在实际的运行过程中,大家会发现link标签也同样给保留下来了,保留a标签同样也会把addr标签给保留下来了。那么究竟有什么好的修正方法呢?当然有啦,最好的解决方案就是加\\b标签进行断言。具体的实现方法,如图所示:

实现方法

  小编结语:

  以上是今天的编程语言的教程了,介绍了怎样使用正则表达式删除所指定的HTML标签呢?希望这对你有所帮助。如果你也有这样的需要,那就赶快来学习一下吧。如果大家喜欢课课家教育的话,不妨可以推荐更多的朋友来哟!

赞(19)
踩(4)
分享到:
华为认证网络工程师 HCIE直播课视频教程