四时宝库

程序员的知识宝库

java之学习正则字符类的用法(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. publicclassDemo2_Regex{

  3. /**

  4. * A:字符类

  5. [abc] a、b 或 c(简单类)

  6. [^abc] 任何字符,除了 a、b 或 c(否定)

  7. [a-zA-Z] a 到 z 或 A 到 Z,两头的字母包括在内(范围)

  8. [a-d[m-p]] a 到 d 或 m 到 p:[a-dm-p](并集)

  9. [a-z&&[def]] d、e 或 f(交集)

  10. [a-z&&[^bc]] a 到 z,除了 b 和 c:[ad-z](减去)

  11. [a-z&&[^m-p]] a 到 z,而非 m 到 p:[a-lq-z](减去)

  12. B:matches()方法的用法

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

  14. */

  15. publicstaticvoid main(String[] args){

  16. demo1();//[abc] a、b 或 c(简单类)

  17. demo2();//[^abc] 任何字符,除了 a、b 或 c(否定) 结果和demo1完全相反

  18. demo3();//[a-zA-Z] a 到 z 或 A 到 Z,两头的字母包括在内(范围)

  19. demo4();//[a-d[m-p]] a 到 d 或 m 到 p:[a-dm-p](并集)

  20. demo5();//[a-z&&[def]] d、e 或 f(交集)

  21. demo6();//[a-z&&[^bc]] a 到 z,除了 b 和 c:[ad-z](减去)

  22. demo7();//[a-z&&[^m-p]] a 到 z,而非 m 到 p:[a-lq-z](减去)

  23. }

  24. publicstaticvoid demo7(){

  25. String regex ="[a-z&&[^m-p]]";//a-z 之间除了m-p之间以外的全部字符

  26. System.out.println("a".matches(regex));//true

  27. System.out.println("m".matches(regex));//false

  28. System.out.println("p".matches(regex));//false

  29. System.out.println("0".matches(regex));//false

  30. System.out.println("#".matches(regex));//false

  31. }

  32. publicstaticvoid demo6(){

  33. String regex ="[a-z&&[^bc]]";//a-z之间除了b c以外的全部字符

  34. System.out.println("a".matches(regex));//true

  35. System.out.println("b".matches(regex));//false

  36. System.out.println("c".matches(regex));//false

  37. System.out.println("1".matches(regex));//false

  38. System.out.println("#".matches(regex));//false

  39. System.out.println("==========");

  40. }

  41. publicstaticvoid demo5(){

  42. String regex ="[a-z&&[def]]";//a-z和def的交集 就相当于[def]

  43. System.out.println("a".matches(regex));//false

  44. System.out.println("e".matches(regex));//true

  45. System.out.println("f".matches(regex));//true

  46. System.out.println("1".matches(regex));//false

  47. System.out.println("#".matches(regex));//false

  48. System.out.println("============");

  49. }

  50. publicstaticvoid demo4(){

  51. String regex ="[a-d[m-p]]";//a-d或者m-p的全部字母

  52. System.out.println("a".matches(regex));//true

  53. System.out.println("d".matches(regex));//true

  54. System.out.println("m".matches(regex));//true

  55. System.out.println("p".matches(regex));//true

  56. System.out.println("1".matches(regex));//false

  57. System.out.println("#".matches(regex));//false

  58. System.out.println("================");

  59. }

  60. publicstaticvoid demo3(){

  61. String regex ="[a-zA-Z]";//a-z A-Z之间的全部字符,包含头和尾的字符

  62. System.out.println("a".matches(regex));//true

  63. System.out.println("b".matches(regex));//true

  64. System.out.println("A".matches(regex));//true

  65. System.out.println("B".matches(regex));//true

  66. System.out.println("1".matches(regex));//false

  67. System.out.println("#".matches(regex));//false

  68. System.out.println("===============");

  69. }

  70. publicstaticvoid demo2(){

  71. String regex ="[^abc]";//除了a b c 以外的任何字符

  72. System.out.println("a".matches(regex));//false

  73. System.out.println("b".matches(regex));//false

  74. System.out.println("c".matches(regex));//false

  75. System.out.println("d".matches(regex));//true

  76. System.out.println("1".matches(regex));//true

  77. System.out.println("#".matches(regex));//true

  78. System.out.println("================");

  79. }

  80. publicstaticvoid demo1(){

  81. String regex ="[abc]";//字符a b 或者c中的其中一个字符

  82. System.out.println("a".matches(regex));//true

  83. System.out.println("b".matches(regex));//true

  84. System.out.println("c".matches(regex));//true

  85. System.out.println("d".matches(regex));//false

  86. System.out.println("1".matches(regex));//false

  87. System.out.println("#".matches(regex));//false

  88. System.out.println("=================");

  89. }

  90. }

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接