1. package test;
  2. /**
  3. * 在String的matches()方法,split()方法中使用正则表达式.
  4. * @author fhd001
  5. */
  6. public class RegexTest {
  7. public static void main(String[] args) {
  8. /*
  9. * 普通字符
  10. */
  11. String str1 = "abc45abc345";
  12. String[]arr1 = str1.split("abc");
  13. for (String string : arr1) {
  14. System.out.print(string+"-->");
  15. }
  16. System.out.println();
  17. /*
  18. * 简单的转义字符
  19. * 在java中转义字符时一定要用双反斜线,两个斜线转义成一个斜线,
  20. * 在用这个斜线字符转义那些特殊字符.
  21. */
  22. String str2 = "^$()[]{}.?+*|";
  23. boolean flag = str2.matches("//^//$//(//)//[//]//{//}//.//?//+//*//|");
  24. System.out.println(flag);
  25. /*
  26. * 转义字符 /Q.../E.
  27. */
  28. String str3 = "^$()[]{}.?+*|99999";
  29. boolean flag2 = str3.matches("//Q^$()[]{}.?+*|//E//d{5}");
  30. System.out.println(flag2);
  31. /*
  32. * 字符集合
  33. */
  34. String str4 = "dfddri334";
  35. boolean flag4 = str4.matches(".+");
  36. System.out.println(flag4);
  37. String str5 = "#$%^*())%";
  38. boolean flag5 = str5.matches("//W{9}");
  39. System.out.println(flag5);
  40. String str6 = "4gffmdkekrhhr";
  41. boolean flag6 = str6.matches("//w+");
  42. System.out.println(flag6);
  43. String str7 = "fjfdke    eett ";
  44. boolean flag7 = str7.matches("//w+//s+//w{4}//s?");
  45. System.out.println(flag7);
  46. String str8 = "   erefff    ";
  47. boolean flag8 = str8.matches("//s+//S+//s+");
  48. System.out.println(flag8);
  49. String str9 = "456776888";
  50. boolean flag9 = str9.matches("//d+");
  51. System.out.println(flag9);
  52. String str10 = "rtydfgrgwvr  ";
  53. boolean flag10 = str10.matches("//D+");
  54. System.out.println(flag10);
  55. /*
  56. * 自定义字符集合 [ ]
  57. */
  58. String str11 = "fdfeetg  34566";
  59. boolean flag11 = str11.matches("[fdetg]+//s+[3-6]+");
  60. System.out.println(flag11);
  61. String str12 = "rtyuie   5768";
  62. boolean flag12 = str12.matches("[^abcdf]+//s+[^1234]+");
  63. System.out.println(flag12);
  64. /*
  65. * 匹配次数限定符
  66. */
  67. //贪婪模式
  68. String str13 = "ytreggcv454444444333";
  69. boolean flag13 = str13.matches("//w{20}");
  70. System.out.println(flag13);
  71. boolean flag14 = str13.matches("//w{10,21}");
  72. System.out.println(flag14);
  73. boolean flag15 = str13.matches("//w{18,}");
  74. System.out.println(flag15);
  75. String str14 = "4";
  76. boolean flag16 = str14.matches("//d?");
  77. System.out.println(flag16);
  78. String str15 = "ddcvgt";
  79. boolean flag17 = str15.matches("//D+//d?");
  80. System.out.println(flag17);
  81. String str16 = "e33tf44t44t";
  82. boolean flag18 = str16.matches("//w+//W*");
  83. System.out.println(flag18);
  84. //勉强模式(只举一例)
  85. String str17 = "34567ghjkkld";
  86. boolean flag19 = str17.matches("//d{2,7}?//w{8,11}");
  87. System.out.println(flag19);
  88. //占有模式(只举一例)
  89. String str18 = "22222ddddd";
  90. boolean flag20 = str18.matches("//d{2,5}+//w{6}");
  91. System.out.println(flag20);
  92. /*
  93. * 字符边界
  94. */
  95. String str19 = "a444545rot44tm";
  96. boolean flag21 = str19.matches("^a//w+m$");
  97. System.out.println(flag21);
  98. /*
  99. * 选择表达式 xxx | xxx
  100. */
  101. String str20 = "abc123abc";
  102. boolean flag22 = str20.matches("(abc|123){3}");
  103. System.out.println(flag22);
  104. /*
  105. * 分组 ( ).
  106. * 以上修饰符都是针对一个字符进行修饰.如果要对一组字符进行
  107. * 修饰就要用到()
  108. */
  109. String str21 = "123qwe123qwe";
  110. boolean flag23 = str21.matches("(123qwe){2}");
  111. System.out.println(flag23);
  112. /*
  113. * []中的交集与并集
  114. */
  115. String str22 = "abcdefgh1234567";
  116. boolean flag24 = str22.matches("[a-z1-9]+");        //并集
  117. System.out.println(flag24);
  118. boolean flag25 = str22.matches("[a-z1-9&&[a-h1-7]]+"); //交集
  119. System.out.println(flag25);
  120. }
  121. }
  1. -->45-->345-->
  2. true
  3. true
  4. true
  5. true
  6. true
  7. true
  8. true
  9. true
  10. true
  11. true
  12. true
  13. true
  14. true
  15. true
  16. true
  17. true
  18. true
  19. true
  20. false
  21. true
  22. true
  23. true
  24. true
  25. true

java String matches 正则表达的更多相关文章

  1. Java String 中的一些函数与正则的结合使用

    首先正则表达式在处理字符串问题时,真的非常强大. 正则可以帮助我们处理字符串的: 匹配, 选择, 编辑, 验证等问题. 正则中"\\"表示插入一个"\" 这里仅 ...

  2. Java正则表达中Greedy Reluctant Possessive 的区别

    Java正则表达中Greedy Reluctant Possessive 的区别 分类: java2015-01-16 00:28 1280人阅读 评论(9) 收藏 举报 正则表达式Java   目录 ...

  3. java中的正则操作总结

    http://www.cnblogs.com/nerxious/archive/2013/01/03/2842910.html 正则表达式在处理字符串的效率上是相当高的 关于正则表达式的使用,更多的是 ...

  4. HttpGet协议与正则表达

    使用HttpGet协议与正则表达实现桌面版的糗事百科   写在前面 最近在重温asp.net,找了一本相关的书籍.本书在第一章就讲了,在不使用浏览器的情况下生成一个web请求,获取服务器返回的内容.于 ...

  5. shell正则表达

    shell正则表达 .*和.?的比较: 比如说匹配输入串A: 101000000000100 使用 1.*1 将会匹配到1010000000001,匹配方法:先匹配至输入串A的最后, 然后向前匹配,直 ...

  6. 使用HttpGet协议与正则表达实现桌面版的糗事百科

    写在前面 最近在重温asp.net,找了一本相关的书籍.本书在第一章就讲了,在不使用浏览器的情况下生成一个web请求,获取服务器返回的内容.于是在网上搜索关于Http请求相关的资料,发现了很多资料都是 ...

  7. Java String.replaceAll() 与后向引用(backreference)

    问题 昨天看到一篇博文,文中谈到一道 Java 面试题: 给定一字符串,若该字符串中间包含 "*",则删除该 "*":若该字符串首字符或尾字符为 "* ...

  8. php 正则表达示中的原子

    原子 原子是正则表达示里面的最小单位,原子说白了就是需要匹配的内容.一个成立的正则表达示当中必须最少要有一个原子.大理石平台精度等级 所有可见不可见的字符就是原子 说明:我们见到的空格.回车.换行.0 ...

  9. Matches正则使用提取内容

    用VS新建WinForm程序,窗体上是三个文本框和一个按钮.可以自己构造正则表达式,自己修改匹配内容 正则表达是要提取的部分为hewenqitext 代码如下: using System; using ...

随机推荐

  1. 洛谷 P4593 【[TJOI2018]教科书般的亵渎】

    题目分析 一眼看上去就像是一个模拟题目,但是\(n\)的范围过大. 冷静分析一下发现难点在于如何快速求出幂和. 考虑使用伯努利数. \(B_0=1\) \(B_n=-\frac{1}{n+1}\sum ...

  2. TunSafe使用分享

    体验还是很棒的,关于使用中遇到的一些问题在此分享下 官网打不开? 这个真的很不解,科学以后遇到的, 后来在手机上同样的环境测试可以打开 最后居然使用ie浏览器解决了,看来是国产浏览器在作怪 ie终于打 ...

  3. sql注入二

    大家早上好!今天由我给大家带来<web安全之SQL注入篇>系列晨讲,首先对课程进行简单介绍,SQL注入篇一共分为三讲:        第一讲:“纸上谈兵:我们需要在本地架设注入环境,构造注 ...

  4. 创建blob地址

    aa="121" "121" b=new Blob([aa]) Blob(3) {size: 3, type: ""} window.URL ...

  5. spring加载属性(properties)文件

    一.注解方式加载 jdbc.driver=org.mariadb.jdbc.Driver jdbc.url=jdbc:mariadb://localhost:3306/kt jdbc.user=roo ...

  6. sharepoint OOS巨大坑

    首先,我们安装的操作系统是windows server 2016 datacenter最新版,然后安装了OOS2016年的那个版本,打好语言包,安装必备软件,所有的步骤都没问题,但是你配置OOS场的时 ...

  7. 一、hadoop 及 hadoop的环境搭建

    一.Hadoop引言 Hadoop是在2006年雅虎从Nutch(给予Java爬虫框架)工程中剥离一套分布式的解决方案.该方案参考了Goggle的GFS(Google File System)和Map ...

  8. Web—01-快速入门:HTML

    html概述和基本结构 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...

  9. 我的前端工具集(六)Ajax封装token

    我的前端工具集(六)Ajax封装token   liuyuhang原创,未经允许禁止转载 在单点登陆中,或登陆验证后,不应该每次都验证用户名和密码, 也不应该将用户名密码存入cookie中(虽然很多都 ...

  10. 【模板】负环(spfa)

    题目描述 暴力枚举/SPFA/Bellman-ford/奇怪的贪心/超神搜索 输入输出格式 输入格式: 第一行一个正整数T表示数据组数,对于每组数据: 第一行两个正整数N M,表示图有N个顶点,M条边 ...