黑马程序员_正则表达式学习总结

                                     ------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ---------- 

                                                          正则表达式学习总结                                                 

 

熟练的使用正则表达式是程序猿的一项基本功。正则表达式在操作字符串时是相当便捷的。

正则表达式:正则表达式就是用来描述符合一定规则的字符串,用于对字符串就行操作。

正则表达式如何来描述符合一定规则的字符串?

表示某个字符位的字符

[abc]     a或 c(简单类) 

[^abc]    任何字符,除了 a或 c(否定) 

[a-zA-Z]  a 到 或 到 Z,两头的字母包括在内(范围) 

[a-d[m-p]]   a 到 或 到 p[a-dm-p](并集) 

[a-z&&[def]]   d或 f(交集) 

[a-z&&[^bc]]   a 到 z,除了 和 c[ad-z](减去) 

[a-z&&[^m-p]]  a 到 z,而非 到 p[a-lq-z](减去)

 

预定义字符(可以对上述表达式的更为简化)

 .          任何字符(与行结束符可能匹配也可能不匹配) 

\d          数字:[0-9] 

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

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

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

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

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

 

当我们要表示某个字符出现几次时可以用下列表达式

数量词

X?         X,一次或一次也没有 

X*         X,零次或多次 

X+         X,一次或多次 

X{n}       X,恰好 次 

X{n,}      X,至少 次 

X{n,m}     X,至少 次,但是不超过 次 

当我们要表示一个单词。就要涉及单词的开头与结尾的表达,这就可以用下列的边界匹配器

$          行的结尾 

\b         单词边界 

\B         非单词边界 

\A         输入的开头 

\G         上一个匹配的结尾 

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

\z         输入的结尾 

正则表达式中的组及组的引用。

在正则表达式中可以将一个字符位或多个字符位的正则表达式用()扩起来封装成一组。

如何引用组:在同个正则表达式中即在同一个“”中用\n的形式引用前面的组。n为整数。表示该组的组号。组号从一开始。在两个正则表达式中,后一个正则表达式引用前一个正则表达式时。即在不同的“”中的正则表达式。可以用$n的形式引用。n表示组号。常用于字符串的替换操作。

 

用正则表达式对字符创进行操作。

正则表达式对字符串的操作方式有四种。

一:匹配  通过String 的 matches(String regex)方法。判断字符串是否符合某种正则表达式表达的规则。

常用实例。手机号校验。用下面代码演示

 

可以看出使用正则表达式是非常便捷的,要是向以前用字符串的一些方法去完成,那实在是太痛苦。

二:切割 根据String的 String[] spilt(String regex)方法将字符串以正则表达式表示的规则进行切割。

举例说明:将字符串“hdvhjghhhdhohsjjbhiffqnjjjhxisahxik”以叠词切割开。

用以下代码演示

 

三:替换 根据字符串的replaceAll(String regex, String replacement) 将字符串中符合正则表达式表示的规则的字串用指定表达式替换。

举例演示下。将字符串中的连续出现五个或以上的数字内容替换成该串数字的第一个数字

用下面代码演示:

 

 

四:获取

利用正则表达式获取字符串中的字串步骤如下。

1.将正则表达式封装成对象。可以用正则表达式对象

Pattern 的 static  Pattern compile(String regex) 

          将给定的正则表达式编译到模式中。

将正则表达式封装成Pattern对象。

2.让正则表达式与要操作的字符串相关联。

3.关联后获取一个正则匹配器。

通过Pattern Matcher matcher(CharSequence input) 方法获取一个正则匹配器。

通过匹配器对符合规则的字符串进行操作。比如取出。

 利用匹配器Matcher find()方法去从字符串的第一个字符开始去根据正则去匹配字符串。

group方法去获取匹配器上一次匹配获得的结果。

举例演示 获取一个字符串中的邮箱地址。

                                  

                                                         -------<a href="http://www.itheima.com/"">android培训</a>、<a href="http://www.itheima.com/" ">java培训</a>期待与您交流!----------  

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值