算法基础——2.4正则表达式初步

前端之家收集整理的这篇文章主要介绍了算法基础——2.4正则表达式初步前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

例一:

[java] view plain copy
  1. /*@H_404_19@@H_404_19@
  2. 串的处理中直接使用正则的API@H_404_19@@H_404_19@
  3. split@H_404_19@@H_404_19@
  4. match@H_404_19@@H_404_19@
  5. replaceAll@H_404_19@@H_404_19@
  6. */@H_404_19@@H_404_19@@H_404_19@
  7. @H_404_19@
  8. public@H_404_19@@H_404_19@class@H_404_19@T1@H_404_19@@H_404_19@
  9. {@H_404_19@
  10. static@H_404_19@@H_404_19@void@H_404_19@main(String[]args)@H_404_19@@H_404_19@
  11. //把串中的表示日期的子串变换成另一种日期表达格式@H_404_19@@H_404_19@@H_404_19@
  12. Strings="abc,kkk2015-08-19ttk"@H_404_19@;@H_404_19@@H_404_19@
  13. s=s.replaceAll("([0-9]{4})-([0-9]{2})-([0-9]{2})"@H_404_19@,@H_404_19@"$2/$3$1年"@H_404_19@);@H_404_19@@H_404_19@
  14. System.out.println(s);@H_404_19@
  15. @H_404_19@
  16. //判断一个串,是否为Excel地址的表达格式@H_404_19@@H_404_19@
  17. Strings="A3";@H_404_19@@H_404_19@
  18. System.out.println(s.matches("[A-F]{1,2}[0-9]{1,5}"));@H_404_19@@H_404_19@
  19. */@H_404_19@@H_404_19@@H_404_19@
  20. //被一个或多个空格分割的字符串分离出来@H_404_19@@H_404_19@
  21. Strings="abxyzkkk";@H_404_19@@H_404_19@
  22. @H_404_19@@H_404_19@
  23. //String[]ss=s.split("{1,}");@H_404_19@@H_404_19@
  24. String[]ss=s.split("+");@H_404_19@@H_404_19@
  25. for(inti=0;i<ss.length;i++){@H_404_19@@H_404_19@
  26. System.out.println(ss[i]);@H_404_19@@H_404_19@
  27. }@H_404_19@@H_404_19@
  28. }@H_404_19@
  29. }@H_404_19@

例二;@H_404_19@

方法一:

    /*第02讲-正则表达式初步_分散字符串@H_404_19@@H_404_19@
  1. 请把下列字符串分散为数字和字符构成的串@H_404_19@@H_404_19@
  2. Strings1="abc1234xyz667kkmd764tttt";@H_404_19@@H_404_19@
  3. 串由字母和数字间隔构成,要分离出所有的字母段和数字段,即:@H_404_19@@H_404_19@
  4. abc@H_404_19@@H_404_19@
  5. 1234@H_404_19@@H_404_19@
  6. xyz@H_404_19@@H_404_19@
  7. 667@H_404_19@@H_404_19@
  8. kkmd@H_404_19@@H_404_19@
  9. 764@H_404_19@@H_404_19@
  10. tttt@H_404_19@@H_404_19@
  11. class@H_404_19@C4{@H_404_19@@H_404_19@
  12. void@H_404_19@main(String[]args){@H_404_19@@H_404_19@
  13. Strings1="abc1234xyz667kkmd764tttt"@H_404_19@;@H_404_19@@H_404_19@
  14. String[]s2=s1.split("[0-9]{1,}"@H_404_19@);@H_404_19@@H_404_19@
  15. String[]s3=s1.split("[a-z]{1,}"@H_404_19@);@H_404_19@@H_404_19@
  16. int@H_404_19@i;@H_404_19@@H_404_19@
  17. for@H_404_19@(i=@H_404_19@0@H_404_19@;i<s2.length&&i<s3.length;++i)@H_404_19@@H_404_19@
  18. if@H_404_19@(!s2[i].equals(@H_404_19@""@H_404_19@))@H_404_19@@H_404_19@
  19. System.out.println(s2[i]);@H_404_19@
  20. if@H_404_19@(!s3[i].equals(@H_404_19@""@H_404_19@))@H_404_19@@H_404_19@
  21. System.out.println(i+s3[i]);@H_404_19@
  22. if@H_404_19@(i==s2.length){@H_404_19@//s2已经输出完,继续输出s3@H_404_19@@H_404_19@@H_404_19@
  23. for@H_404_19@(@H_404_19@int@H_404_19@j=i;j<s3.length;++j){@H_404_19@@H_404_19@
  24. }@H_404_19@
  25. else@H_404_19@{@H_404_19@//s3已经输出完,继续输出s2@H_404_19@@H_404_19@@H_404_19@
  26. int@H_404_19@j=i;j<s2.length;++j){@H_404_19@@H_404_19@
  27. System.out.println(i+s2[i]);@H_404_19@
  28. }@H_404_19@

方法二:@H_404_19@

    class@H_404_19@FenLi@H_404_19@@H_404_19@
  1. {@H_404_19@
  2. void@H_404_19@main(String[]args)@H_404_19@@H_404_19@
  3. Strings="abc1234xyz667kkmd764tttt"@H_404_19@;@H_404_19@@H_404_19@
  4. s=s.replaceAll("([a-zA-Z])([0-9])"@H_404_19@,@H_404_19@"$1,$2"@H_404_19@);@H_404_19@@H_404_19@
  5. s=s.replaceAll("([0-9])([a-zA-Z])"@H_404_19@,$2"@H_404_19@);@H_404_19@@H_404_19@
  6. System.out.println(s);@H_404_19@
  7. //然后正常使用split进行分割就可以了。@H_404_19@@H_404_19@@H_404_19@
  8. s=s.split(","@H_404_19@);@H_404_19@@H_404_19@
  9. } @H_404_19@

猜你在找的正则表达式相关文章