正则表达式java实例

正则表达式常用语法:

a*  可以有0或N个a
a+  至少有1个a
a?  可以有0或1个a
^a  以a开头
a$  以a结尾
a.  a后面有任意1个字符
()  表示里面是一个整体
a{m} 必须有m个a
a{m,} 至少有m个a
a{m,n} 有m到n个a
a|b  a或b
[ab]  a和b取其中一个
[0-9] 0到9取其中一个
\w 用于匹配字母,数字或下划线字符
\d 用于匹配从0到9的数字 

手机号码正则表达式: ^1(3[0-9]|4[57]|5[0-35-9]|8[0-9]|70)\\d{8}$    随着运营商的规则变化,该表达式也需修改

【java中使用正则表达式】
package com.aa.test;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class RegexTest {
public static void main(String[] args) {
Pattern p = Pattern.compile("[0-9]+");
Matcher m = p.matcher("00aa11bb22cc33");
System.out.println(m.matches()); //整个串匹配则返回true
System.out.println(m.lookingAt()); //最前面匹配则返回true
System.out.println(m.find()); //从上一个匹配的子串后面开始,任意有匹配则返回true
System.out.println(m.group()); //上面find匹配的子串
m.reset(); //重置
System.out.println(m.find()); //从上一个匹配的子串后面开始,任意有匹配则返回true
System.out.println(m.start()); //上面find匹配的子串的开始索引位置
System.out.println(m.end()); //上面find匹配的子串的最后索引位置+1
System.out.println(m.group()); //上面find匹配的子串
System.out.println(m.replaceAll("*")); //所有匹配的串替换为*
System.out.println(m.replaceFirst("*")); //第一个匹配的串替换为*
/*注意:matches、lookingAt、find必须为true时,后面才可以使用start,end,group,否则抛java.lang.IllegalStateException*/
}
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值