Java之正则表达式

        正则表达式是对字符来制定规则,用来校验数据格式的合法性。

        字符串对象提供了匹配正则表达式的方法。

public boolean matches(String regex);        \\如果成功匹配正则表达式,返回true否则返回false

正则表达式匹配规则:

字符类(默认匹配一个字符)

[abc]只能是a或b或c
[^abc]除了abc之外的所有字符
[a-zA-Z]a到Z A到Z
[a-d[m-p]]a到d或m到p
[a-z&&[def]]取交集,即def
[a-z&&^[bc]]a-z除了bc

预定义的字符类(默认匹配一个字符)

.任何字符
\d一个数字0-9[0-9]
\D非数字[^0-9]
\s一个空白字符[\t\n\x0B\f\r]
\S非空白字符[^\s]'
\w[a-zA-Z_0-9]英文数字下划线
\W[^\w]一个非单词字符

贪婪的量词(配合匹配多个字符)

X?X出现一次或根本不出现
X*X出现零次或多次
X+X出现一次或多次
X{n}X出现n次
X{n,}
X{n,m}

正则表达式在字符串方法中的使用 

public String replaceAll(String regex,String newStr);        //按照正则表达式匹配的内容进行替换

public String[] split(String regex);        //按照正则表达式匹配的内容进行分割字符串,返回一个字符串数组

System.out.println("a".matches("[abc]"));//true

System.out.println("z".matches("[abc]"));//false

System.out.println("ab".matches("[abc]"));//false

System.out.println("ab".matches("[abc]+"));//true

System.out.println("a".matches("[abc]"));//true 

正则表达式爬取信息:

         可以先定义比较规则,如下:

String regex ="(\\w{1.}@\\w{2.10}(\\.\\w{2,10}))"+"(1[3-9]\\d{9})"

//可以用来匹配邮箱和电话号码

Pattern pattern =Parttern.compile(regex);

//使正则表达式成为一个匹配规则对象

Matcher matcher = pattern.matcher(rs);

//通过匹配规则对象,得到一个匹配内容的匹配器对象  rs 为你所要匹配的内容

while(matcher.find()){

        System,out.println(matcher.group());

}

//通过匹配器去内容中爬取信息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你要不要认识我

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值