正则表达式记录

1、匹配字符串后面跟数组取值, 例:object[1,2,3][0]; [0,1][2];[123]

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());
        }
相关推荐
瓯雅爱分享32 分钟前
Java+Vue构建的采购招投标一体化管理系统,集成招标计划、投标审核、在线竞价、中标公示及合同跟踪功能,附完整源码,助力企业实现采购全流程自动化与规范化
java·mysql·vue·软件工程·源代码管理
mit6.8243 小时前
[C# starter-kit] 命令/查询职责分离CQRS | MediatR |
java·数据库·c#
诸神缄默不语3 小时前
Maven用户设置文件(settings.xml)配置指南
xml·java·maven
任子菲阳3 小时前
学Java第三十四天-----抽象类和抽象方法
java·开发语言
学Linux的语莫4 小时前
机器学习数据处理
java·算法·机器学习
找不到、了4 小时前
JVM的即时编译JIT的介绍
java·jvm
西瓜er4 小时前
JAVA:Spring Boot 集成 FFmpeg 实现多媒体处理
java·spring boot·ffmpeg
你总是一副不开心的样子(´ . .̫ .4 小时前
一、十天速通Java面试(第三天)
java·面试·职场和发展·java面试
迎風吹頭髮5 小时前
UNIX下C语言编程与实践63-UNIX 并发 Socket 编程:非阻塞套接字与轮询模型
java·c语言·unix
我是华为OD~HR~栗栗呀5 小时前
23届考研-Java面经(华为OD)
java·c++·python·华为od·华为·面试