吾爱乐享
个人学习网站

java之学习正则Greedy 数量词的用法

结果示意图

Greedy 数量词

* X? X,一次或一次也没有
* X* X,零次或多次
* X+ X,一次或多次
* X{n} X,恰好 n 次
* X{n,} X,至少 n 次
* X{n,m} X,至少 n 次,但是不超过 m 次

案例代码

  1. package com.ifenx8.regex;
  2.  
  3. import javax.print.DocFlavor.STRING;
  4.  
  5. public class Demo4_Regex {
  6.  
  7. /**
  8. * A:Greedy 数量词
  9. * X? X,一次或一次也没有
  10. * X* X,零次或多次
  11. * X+ X,一次或多次
  12. * X{n} X,恰好 n 次
  13. * X{n,} X,至少 n 次
  14. * X{n,m} X,至少 n 次,但是不超过 m 次
  15. */
  16. public static void main(String[] args) {
  17. demo1();// X? X,一次或一次也没有
  18. demo2();// X* X,零次或多次
  19. demo3();// X+ X,一次或多次
  20. demo4();// X{n} X,恰好 n 次
  21. demo5();// X{n,} X,至少 n 次
  22. String regex = "[abc]{5,14}";//出现5次到14次之间
  23. System.out.println("abcac".matches(regex));//出现5次,返回true
  24. System.out.println("abcacaaabbbccc".matches(regex));//出现大于等于5次小于等于14次,返回true
  25. System.out.println("abcc".matches(regex));//出现4次 不等于5次,返回false
  26. System.out.println("asdfb".matches(regex));//虽然有5个字符 但是有不包含其中的字符,返回false
  27. System.out.println("=========");
  28. }
  29.  
  30. public static void demo5() {
  31. String regex = "[abc]{5,}";//出现5次及5次以上
  32. System.out.println("abcac".matches(regex));//出现5次,返回true
  33. System.out.println("abcacaaabbbccc".matches(regex));//出现大于5次,返回true
  34. System.out.println("abcc".matches(regex));//出现4次 不等于5次,返回false
  35. System.out.println("asdfb".matches(regex));//虽然有5个字符 但是有不包含其中的字符,返回false
  36. System.out.println("=========");
  37. }
  38.  
  39. public static void demo4() {
  40. String regex = "[abc]{5}";//刚好出现5次
  41. System.out.println("abcac".matches(regex));//出现5次,返回true
  42. System.out.println("abcacaaabbbccc".matches(regex));//出现大于5次,返回false
  43. System.out.println("abcc".matches(regex));//出现4次 不等于5次,返回false
  44. System.out.println("asdfb".matches(regex));//虽然有5个字符 但是有不包含其中的字符,返回false
  45. System.out.println("=========");
  46. }
  47.  
  48. public static void demo3() {
  49. String regex = "[abc]+";//表示出现一次或者多次
  50. System.out.println("a".matches(regex));//出现一次,返回true
  51. System.out.println("".matches(regex));//出现0次,返回false
  52. System.out.println("bbbbccc".matches(regex));//出现多次,返回true
  53. System.out.println("d".matches(regex));//不出现,返回false
  54. System.out.println("==========");
  55. }
  56.  
  57. public static void demo2() {
  58. String regex = "[abc]*";//表示出现0次或者多次
  59. System.out.println("aaaccb".matches(regex));//出现多次,返回true
  60. System.out.println("a".matches(regex));//出现一次,返回true
  61. System.out.println("".matches(regex));//出现0次,返回true
  62. System.out.println("d".matches(regex));//没有出现,返回false
  63. System.out.println("=========");
  64. }
  65.  
  66. public static void demo1() {
  67. String regex ="[abc]?";//表示在abc中的一个或者一个也没有
  68. System.out.println("a".matches(regex));//true
  69. System.out.println("b".matches(regex));//true
  70. System.out.println("c".matches(regex));//true
  71. System.out.println("d".matches(regex));//false
  72. System.out.println("".matches(regex));//true
  73. System.out.println("================");
  74. }
  75.  
  76. }
  77.  
赞(0) 打赏
未经允许不得转载:吾爱乐享 » java之学习正则Greedy 数量词的用法

评论 抢沙发

评论前必须登录!

 

推荐免费资源共享,个人经验总结学习

联系我们联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

登录

注册