Java正则表达式


前言

正则表达式:是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。其实就是一种规则。有自己特殊的应用。


一、匹配功能

使用String类中的matches方法。
先去学习Pattern类,了解规则。
字符类,预定义字符类,边界匹配器,数量词

二、使用步骤

1.常用规则

下列只是常用的规则,API文档里面还有其他的规则

字符
x  			字符 x 
\\ 			反斜线字符 
字符类
[abc]		a、b 或 c(简单类)
[^abc] 		任何字符,除了 a、b 或 c(否定) 
[a-zA-Z] 	a 到 z 或 A 到 Z,两头的字母包括在内(范围 
预定义字符类 
. 			任何字符(与行结束符可能匹配也可能不匹配) 
\d 			数字:[0-9] 
\D 			非数字: [^0-9] 
\s 			空白字符:[ \t\n\x0B\f\r] 
\S 			非空白字符:[^\s] 
\w 			单词字符:[a-zA-Z_0-9] 
\W 			非单词字符:[^\w] 
Greedy 数量词 
X? 			X,一次或一次也没有 
X* 			X,零次或多次 
X+ 			X,一次或多次 
X{n} 		X,恰好 n 次 
X{n,} 		X,至少 n 次 
X{n,m} 		X,至少 n 次,但是不超过 m 次 

2.例子

校验qq号码
1.要求必须是5-15位
2.0不能开头
3.必须都是数字
boolean matches(String regex) :判断当前字符串是否匹配指定的正则表达式,如果匹配则返回true,否则返回false
代码如下(示例):

public static void main(String[] args) {
		String qq = "12345";
		boolean flag = checkQQ(qq);
		System.out.println(flag);
		
		boolean flag1 = qq.matches("[^0]\\d{4,14}");
		System.out.println(flag1);
	}
	public static boolean checkQQ(String qq) {
		int length = qq.length();
		//要求必须是5-15位
		if(length < 5 || length > 15) {
			return false;
		}
		//0不能开头
		if(qq.startsWith("0")) {
			return false;
		}
		//必须都是数字
		for (int i = 0; i < length; i++) {
			//得到参数的每一个字符
			char c = qq.charAt(i);
			if(c < '0' || c > '9') {
				return false;
			}
		}
		return true;//符合要求
	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值