JavaSE --- 正则表达式

1.调用方法

//: 判断是否匹配正则表达式,匹配返回true,不匹配返回false。regex表示的是正则表达式

public boolean matches(String regex)

2.匹配模式

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

[abc]匹配只包含是a,b或c
[^abc]匹配不包含abc的任何字符
[a-zA-Z]匹配a到z,A到Z的所有字符
[a-d[m-p]]匹配a到d,或m通过p
[a-z&&[def]匹配d,e,或f(交集)
[a-z&&[^bc]匹配a到z,除了b和c
[a-z&&[^m-p]] 匹配a到z,除了m到p

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

. (可能看不清,这是英文字符的点号)任何字符
\d一个数字: [0-9]
\D非数字: [0-9]
\s一个空白字符: [\t\n\xoB\A\r]
\S非空白字符: [A\s]
\w[a-zA-Z_0-9] 英文、数字、下划线
\W[a\w]一个非单词字符

2.3贪婪的量词(配合上面的规则可以匹配多个字符)

X?X,一次或根本不
X*X,零次或多次
X+X,一次或多次
X{n}X,正好辣n次
X{n,}X,至少n次
X{n,m}X,至少n但不超过m次

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

3.1按照正则表达式匹配的内容进行替换,返回一个新字符串

public String replaceAll(String regex,String newStr)

3.2按照正则表达式匹配的内容进行分割字符串,返回一个字符串数组

public Stringl] split(String regex)

4.利用正则表达式爬取内容

以下是一个简单的泛分析例子,一般的编写顺序都是依照以下顺序

public class RegexDemo05 {
    public static void main(String[] args) {
        //带匹配或者爬取的字符内容
        String rs = "来学校hoaihfaooiasfjaio,电话020-43422424,或者联系邮箱";

        //1.定义爬取规则,字符串形式
        String regex = "\\w{1,30}|(400-?\\d{3,9}-?\\d{3,9})";

        //2.把规则编译成匹配对象
        Pattern pattern = Pattern.compile(regex);

        //3.得到一个内容匹配器对象
        Matcher matcher = pattern.matcher(rs);

        //开始找
        while(matcher.find()){
            String rs1 = matcher.group();
            System.out.println(rs1);
        }

    }

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值