正则表达式小结

本文详述了Java中正则表达式的使用,包括Pattern和Matcher类的应用,正则语法如匹配、替换、查找和分割,以及贪婪匹配与懒惰匹配的概念。还介绍了捕获组和非捕获组的区别,提供了常用正则表达式实例,如身份证号、手机号和邮箱验证。
摘要由CSDN通过智能技术生成

转载请注明出处http://blog.csdn.net/crazy1235/article/details/50532754



基本用法

从JDK1.4开始提供了对正则表达式的支持,位于java.util.regex包里。

这里写图片描述

主要用到的类就是Pattern和Matcher。

Pattern用于编译你编写的表达式。

public final class Pattern implements java.io.Serializable

Matcher类用于对Pattern编译的表达式进行匹配。

public final class Matcher implements MatchResult

MatchResult接口表示匹配操作的结果。通过MatchResult可以查看匹配边界、组合组边界,但是不能修改。

//返回匹配结果的初始索引
public int start();
//返回捕获子序列的初始索引,group就是分组的编号
public int start(int group);
//返回匹配字符串最后字符的索引
public int end();
//返回捕获子序列的最后字符之后的偏移量
public int end(int group);
//返回匹配捕获的序列串
public String group();
//返回以前匹配期间给定的组序列的串
public String group(int group);
//返回捕获的组数
public int groupCount();

Pattern类常用的方法

public static boolean matches(String regularExpression, CharSequence input) 

这是一个静态方法,用于快速匹配字符串。该方法适合用于一个匹配,并且是匹配全部字符串。

public String[] split(CharSequence input)
public String[] split(CharSequence input, int limit)

用于分割字符串。实际上我们通常用的String.split()方法一部分内部实现就是调用Pattern类的split方法。
两个参数的split方法不常用到。下面简单说一下limit参数的用法:(摘自网络

limit 参数控制模式应用的次数,因此影响所得数组的长度。如果该限制 n 大于 0,则模式将被最多应用 n - 1 次,数组的长度将不会大于 n,而且数组的最后一项将包含所有超出最后匹配的定界符的输入。如果 n 为非正,那么模式将被应用尽可能多的次数,而且数组可以是任何长度。如果 n 为 0,那么模式将被应用尽可能多的次数,数组可以是任何长度,并且结尾空字符串将被丢弃。 
例如,字符串 "boo:and:foo" 使用这些参数可生成以下结果: 
Regex Limit 结果 
: 2 { "
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值