package com.zzh.day1;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class demo1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//System.out.println("abc".matches("..."));//.匹配任何字符
//System.out.println("a12456a".replaceAll("\\d", "-"));//\d表示一个数字,第一个\为转义字符,将\转义为\,即为\\
//匹配三位a-z中的字母
Pattern pattern = Pattern.compile("[a-z]{3}");
Matcher matcher = pattern.matcher("asd");
System.out.println(matcher.matches());
}
}
这段代码的做的事情:
没啥复杂的。看一眼就知道了。
在这段代码中
. 匹配任何一个字符
\d 匹配一个数字
[a-z]表示匹配a-z中的任何一个字母
{3}表示匹配三次
- compile() 编译正则表达式,使其在接下来的使用中速度快,这里面具体怎么回事不是很清楚。希望那些大佬看到这篇博客,无论时间多久远,在评论中解释一下。-
matches()判断是否匹配
另外在java中,\有自己特殊的意义,而在正则表达式中需要用\d来匹配一个数字,所以需要将\转义,从而用\\d组成正则表达式中的\d