Java 正则表达式规则、 正则查询邮箱、正则非贪婪匹配、正则搜索

正则表达式的作用:

是一些特殊字符组成的校验规则,可以校验信息的正确性,校验邮箱是否合法,或电话号码、金额等。

例如校验qq

/**
 * 校验qq号
 */
public class RegexDemo1 {
    public static void main(String[] args) {
        System.out.println(checkQQ("1084444848"));
    }
    public static boolean checkQQ(String QQ){
        return QQ!=null && QQ.matches("\\d{4,10}");//大于等于4位,小于10位,全为数字
    }
}

规则一般在API的pattern里查看

字符类
[abc] :范围匹配;a、b或c (简单类)   可匹配 abc、a、b、c、ab
[^abc] :任何字符。除了a. b或c (否定)
[a-ZA-Z] :a到z或A到Z.两头的字母包括在内(范围)
[a-d[m-p]] :a到d或m到p:[a-dm-p] (并集)
[a-z&&[def23]] :d、e或f (交集)

^xxx$  开始和结尾

. 任何字符
\d 数字: [0-9] 
\D 非数字: [^0-9]
\s 空白字符: [ \t\n\x0B\f\r]"A\sB"  "A B"
\S 非空白字符: [^\s]  
\w 单词字符: [a-ZA-Z_0-9] 匹配一个字母、数字或下划线
\W 非单词字符。[^\W]


Greedy数量词
x? 一次或一次也没有  零个或一个
x* 零次或多次
X+ 一次或多次   至少一个字符
x{n} 恰好n次   n个字符
x{n,} 至少n次
x{n,m} 至少n次,但是不超过m次

Ac|Bd  匹配Ac或Bd 

在这里插入图片描述在这里插入图片描述

正则查询邮箱

	public static void main(String[] args) {
		/**
		 * 正则查询邮箱
		 */
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入你的邮箱");
		String email = sc.nextLine();
		
		//wahdha@163qq.com
		//2awda@213.com.cn
		//\w 单词字符:[a-zA-Z_0-9] 
		if(email.matches("\\w{1,}@\\w{2,10}(\\.\\w{2,10}){1,2}")){
			System.out.println("邮箱正确");
		}else{
			System.err.println("邮箱格式不正确");
		}
	}

正则非贪婪匹配

  • 正则表达式匹配默认使用贪婪匹配
  • 使用?表示对某一规则进行非贪婪匹配
  • 注意区分?的含义
\d??

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值