今天有一个需求 ,提上来类似 123#223#2 这样的字符串,要把里面的数字匹配出来,就看了一下java的正则
以前一直用python处理正则,相比之下java的正则功能是弱了一点
public static void main(String[] args) {
Pattern pattern = Pattern.compile("\\d*(\\.)?\\d+");
Matcher matcher = pattern.matcher("222#23#2");
while(matcher.find()){
System.out.println(matcher.group());
}
}
可以看到这个find是一个迭代
当然还有一种 这种是直接匹配整个字符串符不符合的
boolean matches = Pattern.matches("\\d*(\\.)?\\d+", "222");
if( matches ){
System.out.println("ok");;
}else{
System.out.println("no");
}