Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java正则表达式?标记之间的文本?_Java_Regex - Fatal编程技术网

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

Java正则表达式?标记之间的文本?,java,regex,Java,Regex,如何从标记之间获取字符串,我有: <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> AAA BBB: CCC: 我

如何从标记之间获取
字符串
,我有:

<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>

AAA BBB:
CCC:
我需要:

<br>AAA
BBB :
<br>CCC 

AAA BBB:
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);
        }
String\u comment=“*我的html*”
Pattern p=Pattern.compile(“(.+?)”,Pattern.MULTILINE | Pattern.DOTALL);
for(Matcher m=p.Matcher(_comment);m.find();){
字符串标记=m.group(1);
}

正则表达式的主要问题是没有逃逸
。我想你需要

<span style=\"color: rgb\\(51, 102, 255\\);\">(.+?)</span>
(.+?)
双斜杠用于确保一个斜杠指向
compile
函数


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

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

<span style=\"color: rgb\\(51, 102, 255\\);\">(.+?)</span>
(.+?)
双斜杠用于确保一个斜杠指向
compile
函数


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

最好使用专门的XML/HTML解析器当正则表达式和HTML是问题的一部分时,应自动发出警告:PBetter使用专门的XML/HTML解析器当正则表达式和HTML是问题的一部分时,应自动发出警告:PBetter使用专门的XML/HTML解析器XML/HTML解析器当正则表达式和HTML是问题的一部分时,应该会自动发出警告:p非常感谢您的帮助。非常感谢您的帮助。非常感谢您的帮助。