Java正则表达式_标签之间的文本?

标签 java regex

如何从标签之间获取String,我有:

<span style="color: rgb(51, 102, 255);"><br>AAA </span>
<span style="color: rgb(51, 102, 255);">BBB : </span>
<span style="color: rgb(51, 102, 255);"><br>CCC : </span>

我需要:

<br>AAA
BBB :
<br>CCC 

我写了这个但不起作用:

   String _comment = "*my html*"

        Pattern p = Pattern.compile("<span style=\"color: rgb(51, 102, 255);\">(.+?)</span>", Pattern.MULTILINE | Pattern.DOTALL);
        for (Matcher m = p.matcher(_comment);  m.find(); ) {
            String tag = m.group(1);
        }

最佳答案

正则表达式的主要问题是您没有转义 ()。我想你需要

<span style=\"color: rgb\\(51, 102, 255\\);\">(.+?)</span>

双斜杠是为了确保一个斜杠进入compile函数。

但事实上,您根本不应该使用正则表达式来解析 HTML。使用专门的 HTML 解析器并使用 DOM 树。

关于Java正则表达式_标签之间的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30891148/

相关文章:

java - 将带有java文件的目录转换为intellij中的java模块

java - 边界填充(洪水填充)算法构建交互式 map 。 java

java - 如何添加命令权限?

javascript regex - 删除查询字符串变量(如果存在)

c# - 如何验证不同格式的日期

java - 改变 RabbitMQ 消费者权重

java - Eclipse 之外的 OSGi bundle

regex - 您如何在 linux/bash 中将所有以 .exe 结尾的进程与正则表达式匹配?

regex - 获取括号内的多个值

Java字符串替换-非捕获组捕获