吾爱乐享
个人学习网站

java之学习正则字符类的用法

结果示意图

正则字符类的用法

A:字符类

  •  [abc] a、b 或 c(简单类)
  • [^abc] 任何字符,除了 a、b 或 c(否定)
  • [a-zA-Z] a 到 z 或 A 到 Z,两头的字母包括在内(范围)
  • [a-d[m-p]] a 到 d 或 m 到 p:[a-dm-p](并集)
  • [a-z&&[def]] d、e 或 f(交集)
  • [a-z&&[^bc]] a 到 z,除了 b 和 c:[ad-z](减去)
  • [a-z&&[^m-p]] a 到 z,而非 m 到 p:[a-lq-z](减去)

B:matches()方法的用法

编译给定正则表达式并尝试将给定输入与其匹配。

案例代码

  1. package com.ifenx8.regex;
  2.  
  3. public class Demo2_Regex {
  4.  
  5. /**
  6. * A:字符类
  7. [abc] a、b 或 c(简单类)
  8. [^abc] 任何字符,除了 a、b 或 c(否定)
  9. [a-zA-Z] a 到 z 或 A 到 Z,两头的字母包括在内(范围)
  10. [a-d[m-p]] a 到 d 或 m 到 p:[a-dm-p](并集)
  11. [a-z&&[def]] d、e 或 f(交集)
  12. [a-z&&[^bc]] a 到 z,除了 b 和 c:[ad-z](减去)
  13. [a-z&&[^m-p]] a 到 z,而非 m 到 p:[a-lq-z](减去)
  14. B:matches()方法的用法
  15. 编译给定正则表达式并尝试将给定输入与其匹配。
  16.  
  17. */
  18. public static void main(String[] args) {
  19. demo1();//[abc] a、b 或 c(简单类)
  20. demo2();//[^abc] 任何字符,除了 a、b 或 c(否定) 结果和demo1完全相反
  21. demo3();//[a-zA-Z] a 到 z 或 A 到 Z,两头的字母包括在内(范围)
  22. demo4();//[a-d[m-p]] a 到 d 或 m 到 p:[a-dm-p](并集)
  23. demo5();//[a-z&&[def]] d、e 或 f(交集)
  24. demo6();//[a-z&&[^bc]] a 到 z,除了 b 和 c:[ad-z](减去)
  25. demo7();//[a-z&&[^m-p]] a 到 z,而非 m 到 p:[a-lq-z](减去)
  26. }
  27.  
  28. public static void demo7() {
  29. String regex = "[a-z&&[^m-p]]";//a-z 之间除了m-p之间以外的全部字符
  30. System.out.println("a".matches(regex));//true
  31. System.out.println("m".matches(regex));//false
  32. System.out.println("p".matches(regex));//false
  33. System.out.println("0".matches(regex));//false
  34. System.out.println("#".matches(regex));//false
  35. }
  36.  
  37. public static void demo6() {
  38. String regex = "[a-z&&[^bc]]";//a-z之间除了b c以外的全部字符
  39. System.out.println("a".matches(regex));//true
  40. System.out.println("b".matches(regex));//false
  41. System.out.println("c".matches(regex));//false
  42. System.out.println("1".matches(regex));//false
  43. System.out.println("#".matches(regex));//false
  44. System.out.println("==========");
  45. }
  46.  
  47. public static void demo5() {
  48. String regex = "[a-z&&[def]]";//a-z和def的交集 就相当于[def]
  49. System.out.println("a".matches(regex));//false
  50. System.out.println("e".matches(regex));//true
  51. System.out.println("f".matches(regex));//true
  52. System.out.println("1".matches(regex));//false
  53. System.out.println("#".matches(regex));//false
  54. System.out.println("============");
  55. }
  56.  
  57. public static void demo4() {
  58. String regex = "[a-d[m-p]]";//a-d或者m-p的全部字母
  59. System.out.println("a".matches(regex));//true
  60. System.out.println("d".matches(regex));//true
  61. System.out.println("m".matches(regex));//true
  62. System.out.println("p".matches(regex));//true
  63. System.out.println("1".matches(regex));//false
  64. System.out.println("#".matches(regex));//false
  65. System.out.println("================");
  66. }
  67.  
  68. public static void demo3() {
  69. String regex = "[a-zA-Z]";//a-z A-Z之间的全部字符,包含头和尾的字符
  70. System.out.println("a".matches(regex));//true
  71. System.out.println("b".matches(regex));//true
  72. System.out.println("A".matches(regex));//true
  73. System.out.println("B".matches(regex));//true
  74. System.out.println("1".matches(regex));//false
  75. System.out.println("#".matches(regex));//false
  76. System.out.println("===============");
  77. }
  78.  
  79. public static void demo2() {
  80. String regex = "[^abc]";//除了a b c 以外的任何字符
  81. System.out.println("a".matches(regex));//false
  82. System.out.println("b".matches(regex));//false
  83. System.out.println("c".matches(regex));//false
  84. System.out.println("d".matches(regex));//true
  85. System.out.println("1".matches(regex));//true
  86. System.out.println("#".matches(regex));//true
  87. System.out.println("================");
  88. }
  89.  
  90. public static void demo1() {
  91. String regex = "[abc]";//字符a b 或者c中的其中一个字符
  92. System.out.println("a".matches(regex));//true
  93. System.out.println("b".matches(regex));//true
  94. System.out.println("c".matches(regex));//true
  95. System.out.println("d".matches(regex));//false
  96. System.out.println("1".matches(regex));//false
  97. System.out.println("#".matches(regex));//false
  98. System.out.println("=================");
  99. }
  100.  
  101. }
  102.  
赞(0) 打赏
未经允许不得转载:吾爱乐享 » java之学习正则字符类的用法

评论 抢沙发

评论前必须登录!

 

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

联系我们联系我们

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

支付宝扫一扫打赏

微信扫一扫打赏

登录

注册