技术文章 > Web开发 >  JavaScript > 正文

js正则匹配html标签中的内容

宋宋大人

在JavaScript中,使用正则表达式可以匹配字符串,replace()方法就是很好的匹配方法。对于html标签中的内容,js正则表达式也是可以匹配的,对于多个并列的标签和多个标签嵌套的情况都可以匹配,本文将详细向大家介绍。

一、正则表达式

是使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。

简单来说,是一种匹配字符串的方法,通过一些特殊符号,实现快速查找、删除、替换某个特定字符串。

二、匹配方法:replace()方法

参数为正则表达式,如果找到匹配时,返回匹配字符串的开始位置,否则,返回-1;不支持全文检索。

三、使用:匹配html标签中的内容

匹配html标签,例如"<p>xxx</p>"这种格式

获取html中的数据并预处理

private static Pattern HTML_TAG_PATTERN = Pattern.compile("<[a-zA-Z]+.*?>([\\s\\S]*?)</[a-zA-Z]*?>");

/**
 * 获取html中的数据
 * @param htmlString
 * @return
 */
public static List<String> getResultsFromHtml(String htmlString) {
    List<String> results = new ArrayList<>();
    // 数据预处理
    htmlString = replaceStyle(removeBrTag(htmlString));
    if (htmlString != null && htmlString.length() > 0) {
        Matcher imageTagMatcher = HTML_TAG_PATTERN.matcher(htmlString);

1、针对多个并列的标签的情况,对应正则表达式中的圆括号括起来的数据

     while (imageTagMatcher.find()) {
            String result = "";
            // group(1)
            result = imageTagMatcher.group(1).trim();

2、针对多个标签嵌套的情况进行处理

  if (result != null && result.length() > 0) {
                result = replaceStartTag(result);
            }

            results.add(result);
        }
    }
    return results;
}

以上就是使用js正则表达式匹配html标签中的内容的方法和实例,大家可以套入代码直接使用哦~

免费视频教程
本文原创发布python学习网,转载请注明出处,感谢您的尊重!
相关文章
 如何使用python中schedule模块?
 如何使用python中的optionparser模块?
 如何使用Python的telnetlib模块?
 python里glob模块怎么用?
 python behold库是什么?
相关视频章节
 Python概述
 python注释
 python编码规范
 《Python程序设计》课程导论
视频教程分类