正则表达式记录

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());
        }
相关推荐
毕设源码-朱学姐6 小时前
【开题答辩全过程】以 基于JavaWeb的网上家具商城设计与实现为例,包含答辩的问题和答案
java
C雨后彩虹8 小时前
CAS与其他并发方案的对比及面试常见问题
java·面试·cas·同步·异步·
java1234_小锋9 小时前
Java高频面试题:SpringBoot为什么要禁止循环依赖?
java·开发语言·面试
2501_944525549 小时前
Flutter for OpenHarmony 个人理财管理App实战 - 账户详情页面
android·java·开发语言·前端·javascript·flutter
计算机学姐9 小时前
基于SpringBoot的电影点评交流平台【协同过滤推荐算法+数据可视化统计】
java·vue.js·spring boot·spring·信息可视化·echarts·推荐算法
Filotimo_9 小时前
Tomcat的概念
java·tomcat
索荣荣10 小时前
Java Session 全面指南:原理、应用与实践(含 Spring Boot 实战)
java·spring boot·后端
Amumu1213810 小时前
Vue Router(二)
java·前端
念越11 小时前
数据结构:栈堆
java·开发语言·数据结构