java正则表达式

正则 表达式手册

http://tool.oschina.net/uploads/apidocs/jquery/regexp.html

当需要找到匹配一个字符时
public class RegexTest {
    public static void main(String[] args) {
        String description = "我的电话是:13888888888,有事联系";
        String reg = "(\\(\\d{3,4}\\)|\\d{3,4}-|\\s)?\\d{7,14}"; // 手机电话的正则表达式
        System.out.println(regx(description, reg));
    }
    public static String regx(String description, String reg){
        try {
            Pattern p=Pattern.compile(reg);
            Matcher matcher = p.matcher(description);
            if (matcher.find()) {
                String group = matcher.group(0);  // 找到第一个匹配到项
                return  group;
            }else
                return null;
        }catch (Exception e){
            e.printStackTrace();
        }

        return null;

    }

}

找出所有匹配项
public class RegexTest {
    public static void main(String[] args) {
        String str = "5月1日,吃饭;5月21日,睡觉;12月22日敲代码";
        String reg = "\\d+月\\d+日"; // 筛选日期
        System.out.println(regx(str, reg));
    }
    public static List<String> regx(String description, String reg){
        List<String> list = new ArrayList<>();
        try {
            Pattern p=Pattern.compile(reg);
            Matcher matcher = p.matcher(description);
            while (matcher.find()) {
                String group = matcher.group();
                list.add(group);
            }
        }catch (Exception e){
            e.printStackTrace();
        }

        return list;

    }

}
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值