Java正则表达式

group的含义:

1.groupCount:匹配规则中左边小括号的个数((?除外).
Pattern pattern = Pattern.compile("<p>(.*?)</p>");,groupCount为1.
Pattern pattern = Pattern.compile("<p>(.*?)(.+?)</p>");,groupCount为2.
Pattern pattern = Pattern.compile("<p>(.*?)(.+?)(?.)</p>");,groupCount为2.
2.Matcher.group(int group):获取第i组匹配到的内容.
matcher.group(0);匹配的整个规则字符串.
matcher.group(i);匹配第i组规则字符串.
3.matcher.start(i group)/end():
int start = matcher.start();返回当前匹配到的字符串在原目标字符串中的位置
int end = matcher.end();返回当前匹配的字符串的最后一个字符在原目标字符串中的索引位置
int start = matcher.start(1);第一个分组匹配的内容,也就是John开始的索引位置,0
4.java中使用正则匹配的完整流程:

        Pattern pattern = Pattern.compile("<p>(.*?)</p>");
        Matcher matcher = pattern.matcher("<p><b>R</b>espect diversity<br><b>C</b>ontribute to a safe environment</p><p><b>C</b>111111<br><b>C</b>ontribute to a safe environment</p><p><b>D</b>222222<br><b>C</b>ontribute to a safe environment</p><p><b>C</b>333333<br><b>C</b>ontribute to a safe environment</p>");
        XLog.d("group_count:" + matcher.groupCount());
        while (matcher.find()) {
            XLog.d("group0:" + matcher.group(0));
            XLog.d("group1:" + matcher.group(1));
        }

总结:java正则中的组==子表达式

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.正则表达式介绍 正则表达式算起来也是一个很庞大的语言系统,在所有的开发语言中基本都支持正则表达式,它可以很方便...
    babybus_superdo阅读 2,614评论 3 6
  • 正则表达式乍一看上去是一堆繁琐的、无规律的、令人头大的字符串,但是当你了解他之后,你就会知道它的强大。很多程序设计...
    iDaniel阅读 2,669评论 1 18
  • *纯娱乐向 ——情深情浅,那抵得过世俗人言 孟逍遥吃过饭同那姑娘道了谢,也告了别。匆匆忙忙赶回了自己的住处。 “难...
    天子的橘子阅读 425评论 0 0
  • 近来,大家都在说着欠星爷一部电影,不管是各大网站,还是朋友圈,对于星爷的这部新的力作,也都予以很高的评价,趁着还没...
    Silvia15阅读 344评论 0 0
  • 谁家老丈挑菜担 大街小巷步蹒跚 子女孙辈在何方 何不令其享清闲 生老病死寻常事 只是各人有早晚 赡养老人心怡然 天...
    端阳香草阅读 315评论 0 1