• java 正则


    简单示例:

    String str = "111";
    String pattern = "^[0-9]*$";
    
    Pattern r = Pattern.compile(pattern);
    Matcher m = r.matcher(str);
    System.out.println(m.matches());

    复杂点的示例:

    String a_text = "10. mysql json 使用 类型 查询 函数(54165)";
    Pattern pattern = Pattern.compile("^\d+\.\s.+\(\d+\)$");// 匹配  1. js 判断字符串中是否包含某个字符串(633291)
    Matcher matcher = pattern.matcher(a_text);
    if (matcher.find()) {
    String text = matcher.group();
    System.out.println(text);
    int title_start = 0, title_end = 0;
    
    Pattern pattern2 = Pattern.compile("^\d+\.\s");// 匹配  1.
    Matcher matcher2 = pattern2.matcher(a_text);
    if (matcher2.find()) {
        int start = matcher2.start();
        int end = matcher2.end();
        title_start = end;
        String top = a_text.substring(start, end - 2);
        System.out.println(top);
    }
    
    Pattern pattern3 = Pattern.compile("\(\d+\)$");// 匹配  633291)
    Matcher matcher3 = pattern3.matcher(a_text);
    if (matcher3.find()) {
        int start = matcher3.start();
        int end = matcher3.end();
        title_end = start;
        String read_count = a_text.substring(start + 1, end - 1);
        System.out.println(read_count);
    }
    
    String title = a_text.substring(title_start, title_end);
    System.out.println(title);

    捕获组示例:

    String a_text = "10. mysql json 使用 类型 查询 函数(54165)";
    Pattern pattern = Pattern.compile("(^\d+)\.\s(.+)\((\d+)\)$");
    Matcher matcher = pattern.matcher(a_text);
    if (matcher.find()) {
        System.out.println("Found value: " + matcher.group(0) );//Found value: 10. mysql json 使用 类型 查询 函数(54170)
        System.out.println("Found value: " + matcher.group(1) );//Found value: 10
        System.out.println("Found value: " + matcher.group(2) );//Found value: mysql json 使用 类型 查询 函数
        System.out.println("Found value: " + matcher.group(3) );//Found value: 54170
    }

    正则表达式-教程:https://www.runoob.com/regexp/regexp-tutorial.html

    java正则表达式-教程:https://www.runoob.com/java/java-regular-expressions.html

    正则表达式在线测试:https://c.runoob.com/front-end/854

  • 相关阅读:
    平衡二叉树
    2020年度总结
    go中string是如何实现的呢
    escape的编码解码
    小程序实现下载图片到手机及文字到手机粘贴板
    小程序分享(单页面,朋友圈)
    sql server单行拆分成多行
    sql server 查询分组后用逗号拼接字符串和拆分
    安装虚拟机
    Lombok插件安装
  • 原文地址:https://www.cnblogs.com/ooo0/p/12035659.html
Copyright © 2020-2023  润新知