初识正则

正则表达式

正则表达式(Regex,RE),主要用于:
匹配判断、分隔操作、替换操作(网络爬虫)

匹配规则:

规范描述规范描述
\\反斜线(\)字符\t制表符
\a换行[abc]字符a、b或c
[^abc]除了a、b、c之外的任意字符[a-zA-Z0-9]由字母、数字组成
\d数字\D非数字
\w字母、数字、下划线\W非字母、数字、下划线
\s所有空白字符(换行、空格等)\S所有非空白字符
^行的开头$行的结尾
.匹配除换行符之外的任意字符

数量表示

规范描述规范描述
X必须出现一次X?可以出现0次或1次
X*可以出现0次、1次或多次X+可以出现1次或多次
X{n}必须出现n次X{n,}必须出现n次以上
X{n,m}必须出现n-m次

逻辑运算符

规范描述规范描述
XYX规范后跟着Y规范X|YX规范或Y规范
(X)作为一个捕获组规范

判断字符串全由数字组成:

"123456".matches("\\d*{5,10}");
// 由于java本身\是转义,所以需要两个\
// matches为String类的方法
public boolean matches(String regex) {
    return Pattern.matches(regex, this);
}

public static boolean matches(String regex, CharSequence input) {
    Pattern p = Pattern.compile(regex); // 规则。根据正则表达式规范执行模式对象
    Matcher m = p.matcher(input); // 匹配器。根据传入的输入数据,做匹配判断
    return m.matches();
}

判断手机号码:

input = "13943265799";
// 第一位^1,字符串以数字1开头;第二位[3|4|5|7|8],3或4或...;后面再跟9位数字,必须以这个结束,最后加$
String regex = "^1[3|4|5|7|8]\\d{9}$";
input.matches(regex);

一些常用示例见正则表达式-百度百科

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值