A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© fmi110 高级黑马   /  2015-9-5 09:14  /  246 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

a
  1. /*
  2. *正则表达式:
  3. *        A:字符
  4. *                x  代表字符x。如 a 标识'a'
  5. *                \\ 反斜杠字符
  6. *                \n 换行符('\u000A')
  7. *                \r 回车符('\u000D')
  8. *        B:字符类
  9. *                [abc] 代表有a 或 b 或 c  有且只有一个字符
  10. *                [^abc] a b c都不是
  11. *                [a-zA-Z] 所有字母中的一个(有一个闭区间范围内的值)
  12. *                [0-9] 0到9之间的一个字符
  13. *        C:预定义子父类
  14. *                .         任意字符
  15. *                \d  数字字符
  16. *                \D        非数字字符
  17. *                \s        空白字符[\t\n\r\x0B]
  18. *                \S        非空白字符[^\s]
  19. *                \w         单词字符[a-zA-Z_0-9](下划线也属于单词字符)
  20. *                \W        非单词字符
  21. *        D:边界匹配器
  22. *                ^        开头
  23. *                $        行为
  24. *                \b        单词边界 (不是单词字符的地方)
  25. *               
  26. *        E:数量词
  27. *                X?        至多一次
  28. *                X*        零次或者多次
  29. *                X+        至少一次
  30. *                X{n}        刚好n次
  31. *                X{n,}        至少n次
  32. *                X{n,m}        n到m次,闭区间
  33. *
  34. * 正则表达式常见例子
  35. *                 判断:         boolean matches(String regex)
  36. *                                                         regex 为正则表达式字符串
  37. *                 分割:        String[] split(String regex)
  38. *                 替换:        String replaceAll(String regex,String replacement)
  39. * */
  40. //获取字符串中只有3个字母的单词
  41. package demo;

  42. import java.util.regex.Matcher;
  43. import java.util.regex.Pattern;

  44. public class Test2 {
  45.         public static void main(String[] args) {
  46.                 String str = "wo shi huang yun ning,ni hao la,haha hah";
  47.                 //正则表达式原始
  48.                 String regex = "\\b\\w{3}\\b";
  49.                 //将正则表达式编译到模式中
  50.                 Pattern p =  Pattern.compile(regex);
  51.                 Matcher m = p.matcher(str);//模式的匹配过滤器
  52. //                boolean b = m.matches();
  53. //                System.out.println(b);
  54.                 System.out.println(p.pattern());//返回此编译模式的正则表达式

  55.                 System.out.println(m.find());
  56.                 System.out.println(m.group());
  57.                
  58.                 System.out.println(m.find());
  59.                 System.out.println(m.group());
  60.                 boolean b = false;
  61.                 while(b=m.find()){
  62.                         System.out.println("匹配的结果"+b);
  63.                         System.out.println(m.start());//返回前一个find的匹配的初始索引
  64.                         System.out.println(m.end());//返回最后匹配字符之后的偏移量
  65.                         System.out.println("偏移量截到的字符串:"+str.subSequence(m.start(), m.end()));
  66.                         System.out.println("group获取的字符串:"+m.group());
  67.                        
  68.                 }
  69.         }
  70. }
复制代码


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马