正则表达式之匹配

/*
 * 正则表达式:符合一定规则的表达式
 * 		作用:用于专门操作字符串
 * 		特点:用一些特定的符号来表示代码的操作,简化书写
 * 			所以学习正则表达式就是学习一些特定的符号的使用
 * 		好处:可以简化对字符串的复杂操作
 * 		弊端:符号定义越多,正则越长,阅读性越差
 * 
 * 具体操作功能:
 * 1.匹配:String类中的matches()方法
 * 		matches(String regex) 告知此字符串是否匹配给定的正则表达式。返回boolean类型的值
 * 		matches()方法用规则匹配整个字符串,只要有一处不符合规则,就匹配结束,返回false
 */
package 类;

import java.util.regex.*;

public class 正则表达式 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

		正则表达式 d = new 正则表达式();
	
		//匹配手机号码
		d.Tel();
		//匹配QQ号码
		d.QQ();
		//匹配邮箱
		d.Email();
	}
	//匹配手机号
	public void Tel() {
		/*
		 * 定义规则如下:
		 * 手机号码只能是11位,第一位只能是1,第二位可以是3,5,7;
		 * 后面9位可以是0-9的任意一个数字
		 */
		String tel = "13254687601";
		
		//{9}表示\\d正好出现9次
		String telReg = "1[357]\\d{9}";
		
		System.out.println("验证电话 : " + tel.matches(telReg));
		
	}
	
	public void QQ() {
		/*
		 * 定义规则如下:
		 * 第一位不能是0,QQ号码的长度是6-15位;
		 * 除第一位以外的位可以是0-9的任意一个数字
		 */
		String qq = "1367387530";
		//{5,14}表示\\d出现的次数在5-14之间
		String qqReg = "[1-9]\\d{5,14}";
		System.out.println("验证QQ : " + qq.matches(qqReg));
	}
	
	public void Email() {
		/*
		 * 定义规则如下:
		 * 17839192987@163.com
		 * 如上面这种形式,@前面的位数在5-15之间,为大写字母小写字母和数字三种形式;
		 * @后面.前面的位数在2-3位之间,只能是qq或者163;
		 * .后面的为com,而且只能是com
		 */
		
		String email = "17839192987@qq.com";
		String []emialReg = {"\\w{5,15}+@163.com","\\w{5,15}+@qq.com"};
		
		boolean flag = email.matches(emialReg[0]);
		
		//如果不是163邮箱,则继续验证是否是qq邮箱
		if(flag == false)  
			flag = email.matches(emialReg[1]) ? true : false;
		System.out.println("验证邮箱 : " + flag);
	}
}

运行结果
验证电话 : true
验证QQ : true
验证邮箱 : true

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值