正则表达式
正则表达式,是从jdk1.4引入到java中的,正则表达式本质上是一种操作字符串的语法规则,利用此语法就可以更加灵活的实现字符串的匹配,拆分,替换等操作
单个(数量1)
- 任意字符:表示由任意字符组成
- \\::转义字符
- \n:匹配换行
- \t:匹配制表符
字符集(数量1)
- [abc]:表示可能是a,字符b,字符c中的任意一位
- [^abc]:表示不是abc中的任意一位
- [a-z]:所有的小写字母
- [a-zA-z]:任意一个字母不区分大小写
- [0-9]:任意一个数字
简化的字符表达式(数量1)
- .:任意一个字符
- d:等价于[0-9]
- D:等价于[^0-9]
- s:表示任意的空白字符,列入t,n
- S:表示任意的非空白字符
- w:等价于[a-zA-Z_0-9]表示由任意的字母数字_组成
- W:等价于[^a-zA-Z_0-9]表示不是由任意的字母数字组成
边界匹配
^:正则的开始
&:正则的结束
数量表达
- 正则?:表示此正则可以出现0此或1次
- 正则+:表示此正则可以出现1次,或1次以上
- 正则*:表示正则可以出现0次,1次或多次
- 正则{n}:表示此正则正好出现n次
- 正则{n,}:表示次正则出现n次以上(包含n)
- 正则{n,m}表示正则出现n-m次
逻辑运算
- 正则1正则2:判断1完成后继续判断正则2
- 表达式x|表达式y:有一个满足即可
- (正则):为表达式设置一个整体描述,可以为整体描述设置数量单位
使用
public class Main{
public static void main(String[] args) {
String str="aa";
String regex="([^0-9][^0-9]))";
System.out.println(str.matches(regex));//true
}
}
public String replaceAll(String regex,String replacement)
将满足正则标记的内容全部替换为新的内容
public class Main{
public static void main(String[] args) {
String str="123213好快该接口2会把好给aa";
String regex="[^a-zA-z0-9]+";
System.out.println(str.replaceAll(regex,""));//1232132aa 只留下英文与数字
}
}