正则表达式

目录

作用:

规则使用:

字符类:

预定义字符: 

数量词: 

 小结:

代码例子:


作用:

1.校验字符串是否符合规则

2.在一段文本中查找满足要求的内容

规则使用:

注意:

  • 反斜杠字符( '\' )用于引入如上表中定义的转义结构,以及引用否则将被解释为未转义结构的字符。 因此,表达式\\匹配单个反斜杠, \{匹配左括号。

字符类:

预定义字符: 

数量词: 

 小结:

代码例子:

 1.单个字符串匹配:匹配电话号码

package patterndemo;

public class demo1 {
    public static void main(String[] args) {
        String phone="17394941549";
        System.out.println(phone.matches("1[3-9]\\d{9}"));


    }
}

 2.文本匹配:利用文本匹配器去从头匹配。

Pattern库:表示正则表达式
Matcher库:文本匹配器,按照正则表达式的规则去读取字符串,从头开始读取
package patterndemo;

import java.util.regex.Matcher;
import java.util.regex.Pattern;
//Pattern:表示正则表达式
//Matcher:文本匹配器,按照正则表达式的规则去读取字符串,从头开始读取

public class demo2 {
    public static void main(String[] args) {
        String s="北京时间10月25日,鹈鹕官方今日宣布,球队锋线布兰登-英格拉姆触发了联盟的脑震荡保护协议。" +
                "昨日鹈鹕与爵士的比赛,英格拉姆不慎被队友纳吉-马绍尔误伤引发脑震荡,随即退出比赛。是役鹈鹕最终在家门口以1分之差憾负爵士," +
                "英格拉姆全场仅出战11分49秒,5投4中得到10分。" +
                "赛季前三场,英格拉姆场均能为鹈鹕贡献22.0分5.7篮板4.0助攻,投篮命中率高达57.9%。";
        Pattern p=Pattern.compile("(英格拉姆)|(鹈鹕)");//获取正则表达式的对象
        Matcher m= p.matcher(s);//获取文本匹配器的对象
        while (m.find()){
            //文本匹配器从头开始读取,寻找符合规则的字符串,如果有,则返回TRUE,并在底层记录子串的索引,否则FALSE。
            System.out.println(m.group());
            //方法底层会根据find方法记录的索引进行字符串的截取
        }
    }
}

结果如下:

鹈鹕
英格拉姆
鹈鹕
英格拉姆
鹈鹕
英格拉姆
英格拉姆
鹈鹕

 

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值