正则表达式的作用就是检查输入的格式是否符合规定,可以通过正则表达式制定输入规则。
正则表达式是由一些具有特殊含义的元字符组成的字符串。正则表达式中的元字符如下:
这里需要注意的是‘.’这个符号,在正则表达式中代表任意一个字符,如果想使用普通意义下的'.',需要使用转义符 ''
举个例子:判断一个7位的字符串,是否以第一位大写字母,2~4位小写字母,后3位是数字字符。
示例代码
String str1 = new String("Haaa123");
String str2 = new String("HaAA123");
// 设定正则表达式
String regular = new String("\\p{Upper}\\p{Lower}\\p{Lower}\\p{Lower}\\d\\d\\d");
Boolean result1 = str1.matches(regular);
Boolean result2 = str2.matches(regular);
下面是正则表达式的限定符
那么可以通过限定符优化上面的正则表达式
String regular = new String("\\\p{Upper}\\p{Lower}{3}\\d{3}");
有的正则表达式中还会有[],[]中的内容是什么意思呢?
在开发中,正则表达式的实战用途可能会是以下几种情况:
1.判断邮箱地址是否正确
String regex = new String("\\w{0,}\\@\\w{0,}\\.{1}\\w{0,}");
2.验证手机号码
String regex = "1[3,5,7,8]\\d{9}$";
3.验证IP地址的合法性
String regex = "^(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|[1-9])\\.
(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|[1-9])\\.
(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|[1-9])\\.
(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|[1-9])$";