正则表达式记录

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());
        }
相关推荐
青灯古佛初照3 分钟前
EasyExcel 动态表头+表头合并
java·excel
goldfishsky7 分钟前
Gson转换
java·开发语言
小巫医初春7 分钟前
【EasyExcel】@ColumnWidth(value = 20) EasyExcel设置列宽不生效
java
学Java的skyyyyyyyy14 分钟前
Java面向对象
java·开发语言
SkyrimCitadelValinor22 分钟前
Java【反射机制】
java
落霞与孤鹭齐飞。。23 分钟前
民间故事推广系统小程序的设计
java·spring boot·mysql·毕业设计·课程设计
尚学教辅学习资料26 分钟前
基于SpringBoot的小说阅读下载网站+LW参考示例
java·spring boot·后端·毕业设计·毕业论文·小说阅读
M_灵均27 分钟前
八股文知识汇总(常考)
java·后端·面试
苹果酱056731 分钟前
react-intl——react国际化使用方案
java·开发语言·spring boot·后端·中间件
yaoshengting44 分钟前
Nacos1.X中对NacosNamingService的实现
java