使用正则表达式提取html标签中间的内容,如:abc<span>def</span>gh<font>666</font>999

代码如下:

public static void main(String[] args) {
        String s = "abc<span>def</span>gh<font>666</font>999";
        String p =  "<(\\w+)([^<>]*)>([^<>]+)</\\1>";

        Pattern pattern = Patternpile(p);

        List<String> words = new ArrayList<>();
        Matcher matcher = pattern.matcher(s);
        while (matcher.find()){
            words.add(matcher.group(3));
        }

        System.out.println(JSON.toJSONString(words));
    }

输出结果:["def","666"]

正则表达式可以根据具体标签做适当调整,当前是匹配所有标签,也可以改成针对font或span或者其他html标签做适当改写。

正则表达式的group()方法用于捕获组,从正则表达式左侧开始,每出现一个左括号"("记做一个分组,分组编号从 1 开始。0 代表整个表达式。

Post Views: 13

更多推荐

正则表达式提取html标签中间的内容