div\n"+3、"{"> div\n"+3、"{">
您当前的位置:首页 > 互联网教程

正则表达式匹配HTML标签之间的内容

发布时间:2025-05-20 22:07:50    发布人:远客网络

正则表达式匹配HTML标签之间的内容

一、正则表达式匹配HTML标签之间的内容

1、(?<=>)[^<>]+(?=<)

2、String a="<style type=\"text/css\"> div \n"+

3、"{ margin: 0; padding: 0; outline: 0;}</style>";

4、我如何把这一句取出来呢,包括标签。

5、用正则表达式:<style([\\s\\S]*)</style>

6、var str='<p class="odd" id="odd">123</p>';

7、var pattern=/<\/?[a-zA-Z]+(\s+[a-zA-Z]+=".*")*>/g;

8、console.log(str.match(pattern));

9、var str='<p class="odd" id="odd">123</p>';

10、var pattern=/<[^>]+>/g;

11、console.log(str.match(pattern));

12、var str='<input type="text" value=">" name="username"/>';

13、var pattern=/<(?:[^"'>]|"[^"]*"|'[^']*')*>/g;

14、console.log(str.match(pattern));

15、说明:()表示捕获分组,()会把每个分组里的匹配的值保存起来,使用$n(n是一个数字,表示第n个捕获组的内容)

16、(?:)表示非捕获分组,和捕获分组唯一的区别在于,非捕获分组匹配的值不会保存起来

17、没有引用的需求的话,采用非捕获性分组,更为简洁;

18、var str='<input type="text" value=">" name="username"/>';

19、var pattern=/<(?:[^"'>]|(["'])[^"']*\1)*>/g;

20、console.log(str.match(pattern));

二、给标签添加正则表达式的属性是什么

给标签添加正则表达式的属性有:

1、Global属性,设置或返回一个Boolean值,该值指明在整个搜索字符串时模式是全部匹配还是只匹配第一个。

2、IgnoreCase属性,设置或返回一个Boolean值,指明模式搜索是否区分大小写。

3、Pattern属性,设置或返回被搜索的正则表达式模式。这是一个最重要的属性,我们主要是设置这个属性来实现数据校验的。

三、用正则表达式得到某个div标签内部的div标签中的内容

1、先说结论:极度不推荐你使用这样的正则去从html中提取相关内容。

2、除非,你确保你的代码,使用正则表达式去匹配html内容的代码,所需处理的html是很简单的,内容很少的,嵌套很少的,否则,稍微复杂点的html代码,N多标签,甚至本身html就是不完整的,标签有误的。那么通过写正则表达式去处理的话,就是极其繁琐,效率比较低的。

3、使用相关的,专门解析html的库去处理html

4、比如Python中,使用BeautifulSoup:

5、【总结】Python的第三方库BeautifulSoup的使用心得

6、其他语言,也有其他对应的处理html的库。

7、单独对于你这个,特定的,相对比较简单的,只有一级内部嵌套的div的写法,可以写成:

8、"<div[^>]+>.+?<div>(.+?)</div></div>", re.I

9、#<div[^>]+>.+?<div>(.+?)</div></div>#i

10、/<div[^>]+>.+?<div>(.+?)<\/div><\/div>/i

11、总之,还是不推荐用正则处理复杂的html。

12、刚专门给你写了个帖子,自己去看吧:

13、【整理】关于用正则表达式处理html代码方面的建议

14、(此处不能贴地址,请用google搜标题,即可找到帖子地址)