正则表达式

正则表达式

一.概念

正则表达式(regular expression,简写regex)是一个字符串用来匹配字符串集合的模式。可以用正则表达式来匹配替换和拆分字符。

二.匹配字符串

1.可以用matches来匹配字符串:

“java”.matches(“java”);

这与equals方法(“java”.equals(“java”);)很类似但是用法更全面,功能更强大。例如:可以使用(.*)代表任意长度的字符串。

2.常用的正则表达式

(注:还有p{,n}正好出现至少n次模式p)

可利用以下语句对其进行验证{

/*该语句仅对[^a-b] 类型进行了验证*/

String s = new String("javae");

String example="java[^a-c]";

System.out.println(s.matches(example));

}

三.替换和拆分字符

String类也包含replaceall、replacefirst和split方法用于替换和拆分字符串。

1.替换

a.replaceAll:

如:System.out.println(java java java.raplaceall(“”v\\w,wi));

会显示jawi jawi jawi

b.replaceFirst:

若将改为replacefirst则会变为jawi java java

2.拆分字符

拆分字符有两个重载:

a.split(regex)

将一个字符串拆分成子字符串。

例:string[] tokens = JavalHTML2perl.split(\\d);

将字符串“JavalHTML2perl”拆分为Java,HTML以及Perl并且保存再tokens[0],tokens[1],tokens[3]中。

b.split(regex,limit)

由limit参数确定匹配几次(当limit=0时,相当于split(regex)

注:{默认情况下,所有量词都是贪婪的,即会尽可能地多次匹配,可以通过在后面加“?”来将其变为惰性的,使其匹配次数尽可能少。

例:

System.out.println(jaaaavaa.replaceFirst(a+,R));

显示:JRvaa

System.out.println(jaaaavaa.replaceFirst(a+?,R));

显示:JRaaavaa

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值