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

例一:

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

例二;

方法一:

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

方法二:

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

相关文章

正则替换html代码中img标签的src值在开发富文本信息在移动端...
正则表达式
AWK是一种处理文本文件的语言,是一个强大的文件分析工具。它...
正则表达式是特殊的字符序列,利用事先定义好的特定字符以及...
Python界一名小学生,热心分享编程学习。
收集整理每周优质开发者内容,包括、、等方面。每周五定期发...