lesson7 正则表达式

由于上星期笔记本落在学校,导致这么多天没记笔记,现在才补上,人也变懒了。。。要坚持啊

 

 

Matcher(匹配器)                  RegDemo

通过调用模式的matcher 方法从模式创建匹配器。创建匹配器后,可以使用它执行三种不同的匹配操作:

 

   matches 方法尝试将整个输入序列与该模式匹配。

 

    lookingAt 尝试将输入序列从头开始与该模式匹配。

 

   find 方法扫描输入序列以查找与该模式匹配的下一个子序列。

常用的通配符

. 代表一个元字符

   a.b  匹配“avb” ,“a b” ,但不匹配a00b

^ 在字符串里代表开始,在[]里代表取反。

   ^j.*va 匹配”j123skdva”, a[^0-9]b匹配”arb”,不能匹配”a1b”

$ 行的结尾

   a.c0$ 匹配”abc0”

| 或者

   a+|b+ 匹配“aa”, “a”, “bbb”, “b”

[]

   正则表达式r[aou]t匹配ratrotrut,但是不匹配ret

-

   [A-Za-z]可以匹配任何大小写字母

* 代表允许字符出现多次

   a.*b 匹配”abbb”, “a67b” atpb

+ 最少出现一次

   a+ 匹配“aa”, “a”

? 重复零次或一次

   a.*b:?0$ 匹配“aab:0” “aab0”

{} 027-9999999

  [0-9]{3}-[0-9]{7}

   正则表达式A[0-9]{3} 能够匹配字符"A"后面跟着正好3个数字字符的串,例如A123A348

   正则表达式[0-9]{4,6} 匹配连续的任意4个、5个或者6个数字字符

   正则表达式[0-9]{4,}匹配连续的任意4个或以上数字字符

边界匹配器

^ 行的开头     

$ 行的结尾

\b 单词边界

\B 非单词边界

\A 输入的开头

\G 上一个匹配的结尾

\Z 输入的结尾,仅用于最后的结束符(如果有的话)

\z 输入的结尾

 

预定义字符类

\d 数字:[0-9]

\D 非数字: [^0-9]

\s 空白字符:[ \t\n\x0B\f\r]

\S 非空白字符:[^\s]

\w 单词字符:[a-zA-Z_0-9]

\W 非单词字符:[^\w]

匹配模式,忽略大小写

Pattern.CASE_INSENSITIVE

 

/**

     * 用正则去分割字符串

     */

    publicvoid mySplit()

    {

       String phones1 =

           "Justin 的手机号码:0939-100391\n" +

           "momor 的手机号码:0939-666888\n";

      

       //根据指定的字符拆分字符串

//     String[] phone = phones1.split("\n");

//     for(int i=0; i<phone.length; i++)

//     {

//         System.out.println("电话是:" + phone[i]);

//     }

//圆括号用来分组,取数据的时候可以根据分组格式来进行数据提取

       String regStr = "(.*):(0939-[\\d]{6})";

       Patternpattern = null;

       Matcher match = null;

       try

       {

           pattern = Pattern.compile(regStr);

           match = pattern.matcher(phones1);

           while(match.find())

           {

              System.out.println("提取内容:" + match.group(1));

           }

       }

提取内容:Justin 的手机号码

提取内容:momor 的手机号码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值