Greedy 数量词,以X+为例来实例分析,同时展示我的疑惑

Greedy翻译为:贪婪,贪心,侧面描述了正则表达式的特点;
X? X,一次或一次也没有
X* X,零次或多次
X+ X,一次或多次
X{n} X,恰好 n 次
X{n,} X,至少 n 次
X{n,m} X,至少 n 次,但是不超过 m 次
例如:X+ X,一次或多次

Demo1:
String str1 = “兄.弟弟…们们们们们…Just….do…it..”;
String regex1 = “兄+”;
System.out.println(str1.replaceAll(regex1, “1”));
regex1 = “弟+”;
System.out.println(str1.replaceAll(regex1, “1”));

输出:
1.弟弟…们们们们们…Just….do…it..
兄.1…们们们们们…Just….do…it..
说明,“X+”代表X出现1次或1次以上;


Demo2:
regex1 = “(兄)\\1+”;
System.out.println(str1.replaceAll(regex1, “1”));
regex1 = “(弟)\\1+”;
System.out.println(str1.replaceAll(regex1, “1”));

输出:
兄.弟弟…们们们们们…Just….do…it..
兄.1…们们们们们…Just….do…it..
说明,在组的概念中,”(X)\\1+”代表X出现两次或两次以上


Demo3:
regex1 = “(.)\\1+(\\.)\\2+”;
System.out.println(str1.replaceAll(regex1, “1”));

输出:
兄.11Just1do…it..
说明,在组的概念中,出现的第一个括号所包括的内容,编号为1,第二个为2,类推。弟弟…–>1;们们们们们…—>1;….—>1;即替换后有三处符合正则,被替换。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值