Java中的正则表达式
一、正则表达式介绍
二、正则表达式的作用
三、正则表达式的特点
四、Java中正则表达式的使用
五、正则表达式的语法规则
内容限定:
- 单个字符限定
[a]:表示当前内容必须是字母a
public class RegexTest {
public static void main(String[] args) {
String regex="[a]";
String str1="a";
String str2="b";
System.out.println(str1.matches(regex));
System.out.println(str2.matches(regex));
}
}
- 范围字符限定
[a-z0-9]:表示内容可以是a-z之间的任意字母或者0-9之间的任意数字,不分先后。
public class RegexTest {
public static void main(String[] args) {
String regex="[a-zA-B]";
String str1="a";
String str2="A";
System.out.println(str1.matches(regex));
System.out.println(str2.matches(regex));
}
}
- 取反限定
[ ^abc]:表示内容不能是a或b或c。
public class RegexTest {
public static void main(String[] args) {
String regex="[^aA]";
String str1="a";
String str2="b";
System.out.println(str1.matches(regex));
System.out.println(str2.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且最小长度为o,最大长度为2
public class RegexTest {
public static void main(String[] args) {
String regex="[^aA]{2}";
String str1="bb";
String str2="b";
System.out.println(str1.matches(regex));
System.out.println(str2.matches(regex));
}
}
长度限定符号:
预定义字符
在正则表达式中可以通过一些预定义字符来表示内容限定。目的是为了简化内容限定的定义。
常见的预定义字符
正则表达式的组合定义
public class RegexTest {
public static void main(String[] args) {
String regex="[a-z]{1}\\w{3,7}";
String str1="a123123b";
String str2="12312312";
System.out.println(str1.matches(regex));
System.out.println(str2.matches(regex));
}
}
public class RegexTest {
public static void main(String[] args) {
String regex="(\\d{3,4})-(\\d{7,8})";
String str1="2233-12312312";
String str2="121-1234567";
System.out.println(str1.matches(regex));
System.out.println(str2.matches(regex));
}
}
常见的正则表达式