Java 模式匹配笔记

String regx = "\\d+"; //正则表达式

Pattern p = Pattern.compile(regx);

String testString = "hello 008";

Matcher m = p.matcher(testString);


//split

p = Pattern.compile("\\s");

p.split(testString); //[hello]


//match 匹配整个字符串

Pattern.matches("\\d+", testString); //true

m.matches(); //true;


//find 匹配部分字符串

testString = "hello 007 and 008";

 // regx: "\\d+"

m.find(); //true;

m.group(); // or m.group(0), "007" 

m.start(); // 6

m.end(); // 9

//循环查找

while(m.find()){

System.out.println(m.group());

} // "007" "008"

//捕获分组

//"((\\w+) (\\d+))(?:.*)"
//(?:)非捕获分组
m.find();
m.groupCount() //3, group(0)和非捕获分组不计数在内
m.group(0) //"hello 007 and 008"
m.group(1) //"hello 007"
m.group(2) //"hello"
m.group(3) //"007"
m.start(3) //6
m.end(3) //9
 

//替换

//"hello 007 and 008"
// "(\\d+)" 

m.replaceFirst("$1 , 9527 "); // "hello 007, 9527 and 008"

m.replaceAll("9527"); //"hello 9527 and 9527"




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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值