黑马程序员------java学习笔记之正则表达式

------- android培训java培训、期待与您交流! ----------


概念:符合一定规则的表达式。

作用:专门用与操作字符串。

特点:用一些特定的符号来表示一些代码的操作。其实学习正则表达式就是学习一些特殊符号的使用

正则表达式的利弊:

利:可以简化对字符串的复杂操作。

弊:正则表达式定义的符号越多,阅读性越差。

 

正则表达式的具体操作功能:

1.  匹配

匹配使用的是:String类中的matches(String regex)方法

使用规则匹配正个字符串,只要有一出不符合规则,则匹配结束,返回false

例:QQ的校验  第一位不是0并且位数在6-11之间

public static void checkQQ()

{

    String qq = "xxxxxxxxx";

    String regex = "[1-9]\\d{6,11};

    booleanflag=qq.matches(regex);

}

如果不使用正则表达式则要使用String类中的方法进行组合判断

①  对该字符串的长度进行判断,

②  用startWith()方法来判断首位是否为0。

③  判断每个位置上是否是0-9之间的数字时需要将字符串转换成字符数组,进而判断数组中的每个元素是否在0-9之间。

运用String类中的方法校验时,代码复杂。

2.  切割 String split()方法

将字符串按照其中的某种字符或者字符串进行切割

例:将字符串按照叠词切割

public static void splitMethod()

{

    String string="hellosleepfollowbook";

    String regex="(.)\\1+";

    String[]arr=string.split(regex);

    for(String sting : arr)

{

}

}

3.  替换

StringreplaceAll(regex,string);

如果在regex中定义了组,可以在第二参数中通过$符号来获取正则表达式中已经存在的组。

例:按照叠词切割后,将叠词字符换成单个字符

public static void rplaceAllMethod()

{

    String string="hellosleepfollowbook";

        String regex="(.)\\1+";//()用来封装成组,\n(n是组的编号)

String newString="$1";

    string=string.replaceAll(regex,newString);

}

4.  获取:将字符串中符合规则的子串取出

操作步骤:

①  将正则表达式封装成对象

②  将正则对象与要操作的字符串关联

③  获取正则匹配引擎

④  通过引擎对符合规则的子串进行操作

public static void getMethod()

{

String string = " ";

    String regex = " ";

   //将规则封装成对象

    Pattern pattern=pattern.compile(regex);

   //将正则对象与字符串关联,获取匹配器对象。

    Matcher matcher=pattern.matcher(string);

            while(matcher.find())

   {

          System.out.println(matcher.group());

    }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值