正则表达式记录

1、匹配字符串后面跟数组取值, 例:object1,2,300,12123

diff 复制代码
^\w*\[\s*(-?\d+\s*(,\s*-?\d+\s*)*)\](\[\s*(-?\d+\s*(,\s*-?\d+\s*)*)\s*\])*
diff 复制代码
Pattern pattern = Pattern.compile("^\\w*\\[\\s*(-?\\d+\\s*(,\\s*-?\\d+\\s*)*)\\](\\[\\s*(-?\\d+\\s*(,\\s*-?\\d+\\s*)*)\\s*\\])*");
       String[] strArr = {"object[1,2,3][0]", "[0,1][2]", "obj[10]", "[1]"};
       for (String str : strArr) {
           System.out.println(pattern.matcher(str).matches());
}

2、截取中括号里面的值

java 复制代码
\[(.*?)\]
java 复制代码
String[] strArr = {"object[1,2,3][0]", "[0,1][2]", "obj[10]", "[1]"};
        Pattern pattern = Pattern.compile("\\[(.*?)\\]");
        for (String strKey : strArr) {
            Matcher matcher = pattern.matcher(strKey);
            while (matcher.find()) {
//          System.out.println(matcher.group(0)); // 输出整个匹配的括号内内容
                System.out.println(matcher.group(1)); // 输出括号内的具体值
            }
            System.out.println("----------------------------");
        }

3、判断逗号分隔的数字是否全部为正整数

java 复制代码
^\s*(\d+\s*,\s*)*\d*\s*$
java 复制代码
        String[] strArr = {"1,2,3", "0", "8,a,1", "-1,99", "1,2.3","aa"};
        Pattern pattern = Pattern.compile("^\\s*(\\d+\\s*,\\s*)*\\d*\\s*$");
        for (String strKey : strArr) {
            Matcher matcher = pattern.matcher(strKey);
            System.out.println(matcher.matches());
        }
相关推荐
凯尔萨厮4 小时前
Java学习笔记十五(GUI)
java·笔记·学习
落木萧萧8254 小时前
MyBatis 关联查询的四种写法,为什么最后都变回了手写 XML
java·数据库·后端
csdn2015_4 小时前
java springboot项目,接收到的参数多个逗号
java·开发语言·spring boot
cui_hao_nan4 小时前
Spring AOP 自调用、代理与 private 方法引发的诡异 NPE
java·后端·spring·ai开发
码艺-Alimjan4 小时前
维吾尔语数字转文本
java·javascript·python·算法·go
事圆则缓4 小时前
Java 常见数据结构与 Android 使用场景
android·java·数据结构
xieliyu.4 小时前
计算机网络:Fiddler 抓包工具使用教程 + HTTP 协议报文格式详解
java·笔记·计算机网络·测试工具·http·java-ee·fiddler
步行cgn4 小时前
@Value 详解:Spring 属性注入的核心注解
java·python·spring
2401_850481174 小时前
UVA815
java
霸道流氓气质5 小时前
Spring AI 多租户隔离方案
java·人工智能·spring