微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

正则表达式

////匹配

使用的是String中的matches()方法

//////分割

使用的是String中的split()方法

///替换

使用的是String中的replaceAll()方法

  1. packagecom.xuan.demo;
  2. importjava.util.regex.Matcher;
  3. importjava.util.regex.Pattern;
  4. publicclassRegexDemo{
  5. publicstaticvoidmain(String[]args){
  6. System.out.println("正则表达式");
  7. ///匹配
  8. RegexFunction2();
  9. ///分割
  10. sqplitDemo();
  11. ///替换
  12. replaceAllDemo();
  13. //获取
  14. PatternDemo();
  15. }
  16. publicstaticvoidPatternDemo(){
  17. Stringstr="nilovming,xixi,hahaIloveYou,fanxiaoxiao,jiadashu";
  18. //Stringregex="[a-z]{3}";///这写法获取有问题,没有指定边界
  19. Stringregex="\\b[a-z]{3}\\b";//有指定边界
  20. //将正则封装成对象
  21. Patternp=Pattern.compile(regex);
  22. //通过正则获取匹配对象
  23. Matcherm=p.matcher(str);
  24. //m.find();///查找,找到返回true
  25. while(m.find()){
  26. System.out.println("-----:"+m.group());
  27. }
  28. publicstaticvoidreplaceAllDemo(){
  29. Stringstr="xixitttttthahaniniwwwwwwwwwhehe";
  30. ///将叠词替换成#号
  31. //str=str.replaceAll("(.)\\1+","#");//把连续重复的替换成#号
  32. str=str.replaceAll("(.)\\1+","$1");//把连续重复的替换成一个:==>xixithahaniniwhehe
  33. System.out.println("======>"+str);
  34. Stringtel="15800001111";
  35. ///(\\d{3})封装成组$1,(\\d{4})封装成组$2
  36. tel=tel.replaceAll("(\\d{3})\\d{5}(\\d{3})","$1****$2");
  37. System.out.println("=====>"+tel);///===>158****111
  38. publicstaticvoidsqplitDemo(){
  39. Stringstr="xiaomingwangcaixiaoqiangxiaoli";
  40. String[]names=str.split("\\");
  41. /*Stringstr="xiaoming.wangcai.xiaoqiang";
  42. String[]names=str.split("\\.");*/
  43. for(Stringname:names){
  44. System.out.println("----->"+name);
  45. publicstaticvoidRegexFunction2(){
  46. ///手机校验
  47. ///第一位只能为1,第二位:只能是3,5,8,;后面9位数只能是数字,不能出现字母
  48. //Stringregex="1[358][0-9]{9}";
  49. Stringregex="1[358]\\d{9}";//简写
  50. booleanb=tel.matches(regex);
  51. System.out.println(tel+"==>"+b);
  52. }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐