Java 中正则表达式的使用
在 Java 中正则表达式为 String 类型,被验证的内容同样为 String 类型。
通过 String 类中 的 matches 方法实现内容的匹配校验。如:“被验证内容”.matches(“正则表达式”)
正则表达式语法规则:[内容限定]{长度限定},
在定义限定内容规则时,如果没有指定长度限定,那么默认长度为 1。
单字符限定:
String regex = "[a]";
String content = "a";
System.out.println(content.matches(regex));
多字符限定:
String regex = "[a-zA-Z0-9]";
String content = "B";
System.out.println(content.matches(regex));
长度限定
在正则表达式中通过{ }来限定内容长度。
固定长度:{固定长度值}
范围长度:{最小长度值,最大长度值}
例:
[a-z]{5}:表示内容范围为小写字母 a 到 z 且长度必须为 5
[a-z]{2,8}:表示内容范围为小写字母 a 到 z 且长度在 2 到 8 之间,包含 2 与 8
[a-z]{2,}:表示内容范围为小写字母 a 到 z 且最小长度为 2,最大长度无限制
[a-z]{0,2}:表示内容范围为小写字母 a 到 z 且最小长度为 0,最大长度为 2
符号使用
^:不能为该字符,[ ^abc] 表示内容不能是 a 或 b 或 c
| :或者,[a | b ] 表示 a 或者 b
. :通配符
?:零次或一次。等同于{0,1}
+:一次或多次。等同于{1,}
*:零次以上。等同于{0,}
String regex = "[a]+";
String content = "aaa";
System.out.println(content.matches(regex));
预定义字符
在正则表达式中可以通过一些预定义字符来表示内容限定。目的是为了简化内容限定的定义。
需要转义字符’\’
String regex = "\\d*";
String content = "2233";
System.out.println(content.matches(regex));
组合使用
在正则表达式中可以通过多个内容限定与长度限定来组合定义。
示例: 必须是以字母开头,最少长度为 4,最大长度为8。
"[a-z]{1}\\w{3,8}"
常见正则表达式: