Java知识整理——正则表达式

规则字符在java.util.regex.Pattern类中

常用组成规则

字符

字符类

预定义字符类

边界匹配器

数量词

字符类

. 任何字符(与行结束符可能匹配也可能不匹配)
如果我就想表示这个点.  用\.
\d   数字:[0-9]
\D  非数字: [^0-9]
\w  单词字符:[a-zA-Z_0-9]    
\W  非单词字符:[^\w]

预定义字符类

^ 行的开头
$ 行的结尾
\b 单词边界:就是不是单词字符的地方

边界匹配器

^ 行的开头 $ 行的结尾 \b 单词边界:就是不是单词字符的地方

数量词

X?X,一次或一次也没有
X* X,零次或多次
X+ X,一次或多次
X{n} X,恰好 n 次
X{n,} X,至少 n 次
X{n,m} X,至少 n 次,但是不超过 m 次

 正则表达式的应用

判断功能

public boolean matches(String regex)

//接收字符串
String telephoneNumber = sc.nextLine();
//定义规则
String regex = "1[3-9][0-9]{9}";
//调用方法
boolean boo = telephoneNumber.matches(regex);

分割功能

public String[] split(String regex,int limit),limit为模式应用次数

String age = "18-22";
//定义规则
String regex = "-";
//调用方法
String[] strs = age.split(regex);
//遍历
for(int i=0;i<strs.length;i++) {
    System.out.println(strs[i]);
}

替换功能

public String replaceAll(String regex,String replacement)

//定义字符串
String s = "longgeshishuaige521longgezhendeshishuaige520";
//我要把所有数字删除,定义规则
String regex = "\\d+";
String ss = "";
//调用方法
String str = s.replaceAll(regex, ss);

获取功能

Pattern和Matcher类的使用,模式和匹配器的基本的使用

//查找匹配
//把正则表达式编译成模式对象
 Pattern p = Pattern.compile("ab");
 //通过模式对象得到匹配器对象,参数是需要被匹配的字符串
 Matcher m = p.matcher("aaaaab");
 //调用的是匹配其对象的功能
 boolean b = m.matches();
 System.out.println(b);
 
 //查找
String s = "bu shuai long geshi ge";
//定义规则
String regex = "\\b\\w{2}\\b";
//把规则编译成模式对象
Pattern p = Pattern.compile(regex);
//通过模式对象得到匹配其对象
Matcher m = p.matcher(s);
while(m.find()) {
    System.out.println(m.group());
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值