当前位置:  开发笔记 > 编程语言 > 正文

正则表达式在java问题,多个匹配

如何解决《正则表达式在java问题,多个匹配》经验,为你挑选了1个好方法。

我试图匹配HTML文档中的多个CSS样式代码块.此代码将匹配第一个但与第二个不匹配.我需要什么代码来匹配第二个.我可以获得一个列在"样式"括号内的组的列表吗?我应该调用'find'方法来获得下一场比赛吗?

这是我的正则表达式模式

^.*().*$

用法:

final Pattern pattern_css = Pattern.compile(css_pattern_buf.toString(), 
                    Pattern.CASE_INSENSITIVE | Pattern.MULTILINE | Pattern.DOTALL);

 final Matcher match_css = pattern_css.matcher(text);
        if (match_css.matches() && (match_css.groupCount() >= 3)) {
            System.out.println("Woot ==>" + match_css.groupCount());
            System.out.println(match_css.group(2));
        } else {
            System.out.println("No Match");
        }

bobince.. 14

我试图匹配HTML文档中的多个CSS样式代码块.

标准答案:不要使用正则表达式来解析HTML.无论你表达多么复杂和聪明,正则表达式都无法可靠地解析HTML.除非您完全确定目标文档的确切格式是完全固定的,否则字符串或正则表达式处理是不够的,您必须使用HTML解析器.

()

那是一种贪婪的表达.中间的(.*)将尽可能多地匹配.如果您有两个样式块:

 

然后它会愉快地匹配'1 )

那是一种贪婪的表达.中间的(.*)将尽可能多地匹配.如果您有两个样式块:

 

然后它会愉快地匹配'1

凹凸曼00威威_694
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有