java 正则表达式

所谓的正则表达式:就是符合一定规则的字符串。
下面是正则表达式的一些规则:
1):特殊字符
\:反斜线
\r:回车
\n:换行

(2):字符类
[abc]:a,b或者c的任意一个。
[^abc]:除了a,b,c以外的字符。
[a-zA-Z]:包括了26个英文字母。
[0-9]:包括了0-9这个10个数字字符。

(3):预定义字符类
. 任意字符
\d 数字[0-9]
\D 非数字[^0-9]
\w 单词字符:[a-zA-Z_0-9]
\W 非单词字符:[^\w]

(4):边界匹配器
^ 行的开头
$ 行的结尾
\b 单词边界

(5):Greedy 数量词
x? 0次或1次
x* 0次或多次
x+ 1次或多次
x{n} 恰好n次
x{n,} 至少n次
x{m,n} 至少m次,但不能超过n次

常用功能:
1:判断功能 String – matches
2:切割功能 String – split
3:替换功能 String – replaceAll
4:获取功能 Pattern -> Matcher : compile() find() group()

import java.util.Scanner;

/*
 * 
 * 举例:校验qq号码.
 *      1:要求必须是5-15位数字
 *      2:0不能开头
 */
public class RegexDemo {
    public static void main(String[] args) {
        // 封装键盘录入
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入QQ号码:");
        String qq = sc.nextLine();
        boolean flag = checkQq(qq);
        System.out.println(flag);
        //用正则表达式做
        boolean flag2 = checkQq2(qq);
        System.out.println(flag2);
    }

    private static boolean checkQq2(String qq) {
        //定义正则表达式
        String regex = "[1-9][0-9]{4,14}";
        //public boolean matches(String regex)
        boolean flag = qq.matches(regex);
        return flag;
        return qq.matches("[1-9][0-9]{4,14}");
        return qq.matches("[1-9]\\d{4,14}");
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值