1.单个字符(数量1)
字符:表示由一位字符所组成;
\:表示转义字符\;
\t:表示一个“\t”符号;
\n:匹配换行(\n)符号;
2、字符集(数量:1)
[abc]:表示可能是字符a、b或者c中的任意一位;
3、简化字符集表达式(数量:1)
. :表示任意的一位字符;
\d:等价于“[0-9]”,属于简化写法;
\D:等价于[^0-9],属于简化写法;
\s:等价于任意的空白字符,列如:"\t"、“\n”;
\w:等价于"[a-zA-Z_0-9]",表示任意的字母、数字、所组成;
\W:等价于非"[a-zA-Z_0-9]",表示不是任意的字母、数字、所组成;
4、边界匹配(不是在java中使用,而在javascript中使用)
^:正则的开始;
$:正则的结束;
5、数量表达
正则?:表示此正则可以出现0次或者1次;
正则+:表示此正则可以出现1次或者1次以上;
正则*:表示此正则可以出现0次、1次或者1次以上;
正则{n}:表示此正则可以出现n次;
正则{n,}:表示此正则可以出现n次或者n次以上;
正则{n,m}:表示此正则可以出现n~m此;
6、逻辑运算
正则1正则2:表示1判断完成之后继续判断正则2列如[a-z0-9];
正则1|正则2:表示正则1或者正则2有一组满足即可;
(正则):将多个正则作为一组,可以这一组单独设置出现的次数;
7、String对正则的主要的几个方法
7.1 public boolean matches(String regex)、一般用于正则验证
7.2 public String replaceAll(String regex , String replacement) 全部替换
7.3 public String replaceFirst(String regex , String replacement) 替换首个
7.4 public String[] split(String regex) 全部拆分
7.5 public String[] split(String regex, int limit)部分拆分
8、实例
8.1保留数字位
package dem07_1;
public class regex {
public static void main(String args[]){
String str ="jfijfisdj743fsdf2874283hfudsh";
String regex="[^0-9]";
System.out.println(str.replaceAll(regex, ""));
}
}
结果为7432874283
8.2是否为整数和小数并转化为Double型
String str="10.1";
String regex ="\\d+(\\.\\d+)?";
System.out.println(str.matches(regex));
if(str.matches(regex)){
System.out.println(Double.parseDouble(str));
输出 true 10.1
//判断是否是IP地址IPV4
String str="192.168.1.1";
String regex="(\\d{1,3}\\.){3}\\d{1,3}";
System.out.println(str.matches(regex));
输出为true
9、总结
1.利用正则实现验证代码可以最少化;
2.一定要清楚String 类对正则支持的几个方法
网友评论