当前位置: 首页 > news >正文

正则表达式记录

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

^\w*\[\s*(-?\d+\s*(,\s*-?\d+\s*)*)\](\[\s*(-?\d+\s*(,\s*-?\d+\s*)*)\s*\])*
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、截取中括号里面的值

\[(.*?)\]
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、判断逗号分隔的数字是否全部为正整数

^\s*(\d+\s*,\s*)*\d*\s*$
        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());}


http://www.mrgr.cn/news/10465.html

相关文章:

  • 基于Pytorch框架的深度学习DeepLabv3+网络头发语义分割系统源码
  • uniapp微信小程序 分享功能
  • Paxos算法概述:从Basic Paxos到Fast Paxos及在Zookeeper中的应用
  • java修改常量值
  • R语言股价跳跃点识别:隐马尔可夫hmm和 GARCH-Jump对sp500金融时间序列分析
  • php中如何高效地实现一个函数以判断给定日期是否位于多个预定义的时间范围内,同时确保代码的可读性、可维护性和性能优化
  • iOS18升级出现白苹果、无法重启等问题,要怎么解决
  • 算法工程师第四十四天(99. 岛屿数量 深搜 99. 岛屿数量 广搜 100.岛屿的最大面积 )
  • GPT-4、Claude 3 Opus 和 Gemini 1.0 Ultra 挑战控制工程的新领域
  • 【传输层协议】UDP协议 {端口号的范围划分;UDP数据报格式;UDP协议的特点;UDP的缓冲区;基于UDP的应用层协议}
  • 处理排序失败: net.sf.jsqlparser.JSQLParserException,降级为直接拼接 order by 参数
  • vue组件双向绑定
  • iOS WKWebView 禁止选中文字
  • 解决前端访问IIS服务器发生跨域请求报错的方法
  • 乾坤大挪移--将一个混乱的excel分类整理的辅助VBA代码
  • 基于Python的机器学习系列(10):朴素贝叶斯 - 多项式模型
  • 【机器学习】决策树------迅速了其基本思想,Sklearn的决策树API及构建决策树的步骤!!!
  • 低代码革命:JNPF平台如何简化企业应用开发
  • CSS实现鼠标hover展开菜单
  • 【Unity基础】Unity通信之SendMessage