保罗,复活了这个问题,因为它有一个未提及的简单解决方案。(在进行正则表达式赏金任务研究时发现了您的问题。)

此外,现有解决方案还会检查逗号后是否没有括号,但这并不能保证它会嵌入括号中。

正则表达式非常简单:\(.*?\)|(,)

交替的左侧与完整的括号匹配。我们将忽略这些匹配。右侧匹配并捕获到组1的逗号,我们知道它们是右侧的逗号,因为它们与左侧的表达式不匹配。

在此演示中,您可以在右下方窗格中看到“组1”捕获。

您说过要匹配逗号,但是可以使用相同的一般想法来拆分或替换。

为了匹配逗号,您需要检查Group1。此完整程序的唯一目标就是做到这一点。import java.util.*;import java.io.*;import java.util.regex.*;import java.util.List;class Program {public static void main (String[] args) throws java.lang.Exception  {String subject = "12,44,foo,bar,(23,45,200),6";Pattern regex = Pattern.compile("\\(.*?\\)|(,)");Matcher regexMatcher = regex.matcher(subject);List group1Caps = new ArrayList();// put Group 1 captures in a listwhile (regexMatcher.find()) {if(regexMatcher.group(1) != null) {group1Caps.add(regexMatcher.group(1));}} // end of building the list// What are all the matches?System.out.println("\n" + "*** Matches ***");if(group1Caps.size()>0) {for (String match : group1Caps) System.out.println(match);}} // end main} // end Program

这是一个现场演示

要使用相同的技术进行拆分或替换,请参见参考资料中的代码示例。

参考

java正则表达式逗号_正则表达式只匹配逗号而不是括号?相关推荐

  1. java 正则表达式效验_正则表达式(Java版整理)

    基础 元字符 代码 说明 . 匹配除换行符以外的任意字符 \w 匹配字母或数字或下划线或汉字 \s 匹配任意的空白符 \d 匹配数字 ^ 匹配字符串的开始 $ 匹配字符串的结束 \b 匹配字符串的结束 ...

  2. JAVA正则表达式乘号_正则表达式基本语法

    首先,让我们看看两个特别的字符:'^' 和 '$' 他们是分别用来匹配字符串的开始和结束,一下分别举例说明 "^The": 匹配以 "The"开头的字符串; & ...

  3. java 正则表达式 反向_正则表达式中的数量表示符、反向引用、零宽断言、以及java中的用法...

    在表示数量时,如果一个正则表达式X,后面没有加表示数量的符号,那就默认出现一次.如果指定需要出现n次,那就用{n},例如a{n},就是匹配a出现n次的.a{n,}表示a出现至少n次的,而这个时候就会默 ...

  4. java中文逗号替换成英文逗号_织梦中文逗号自动替换成英文逗号的方法

    织梦中文逗号自动替换成英文逗号的方法 发布时间:2020-08-18 15:00:18 来源:亿速云 阅读:102 作者:小新 小编给大家分享一下织梦中文逗号自动替换成英文逗号的方法,相信大部分人都还 ...

  5. java中文逗号替换成英文逗号_织梦中文逗号怎么自动替换成英文逗号

    织梦中文逗号怎么自动替换成英文逗号? 织梦DEDECMS发布文档输入tag时,中文逗号自动替换成英文逗号的方 推荐学习:织梦cms 从织梦DedeCms5.3版本开始,把TAG标签的间隔号由空格改为英 ...

  6. java 正则表达式 大括号_正则表达式:小括号、中括号、大括号的区别

    一.小括号().中括号[].大括号的区别 1>. 小括号():匹配小括号内的字符串,可以是一个,也可以是多个,常跟"|"(或)符号搭配使用,是多选结构的 示例1:string ...

  7. python 正则表达式 前瞻_正则表达式 For Python

    Manarola 正则表达式有很多流派,也有很多的特性,不同的语言支持度也是不一样的.本篇文章是写Python中的正则表达式的用法的,介绍了一些可用特性,也指出了某些特性是不支持的. 本篇文章仅为学习 ...

  8. python正则表达式试题_正则表达式练习题2

    1.匹配一行文字中的所有开头的字母内容 #coding=utf-8 import re s="i love you not because of who you are,but becaus ...

  9. java 正则 关键字_正则表达式关键字

    在表达式中有特殊意义,需要添加 "\" 才能匹配该字符本身的字符汇总 字符 说明 ^ 匹配输入字符串的开始位置.要匹配 "^" 字符本身,请使用 "\ ...

最新文章

  1. 决策树--信息增益,信息增益比,Geni指数的理解
  2. 图像分类经典项目:基于开源数据集Fashion-MNIST的应用实践
  3. ML/DL之预测分析类:利用机器学习算法进行预测分析的简介、分析、代码实现之详细攻略
  4. python requests get请求_python+requests+new——get请求各种情况
  5. 征稿:2018-2019音视频技术回顾与展望
  6. dojo.publish 和 dojo.subscribe
  7. [pytorch、学习] - 5.7 使用重复元素的网络(VGG)
  8. linux 修改文件时间
  9. 大前端的自动化工厂(3)—— babel
  10. HttpUtility.UrlEncode、HttpUtility.UrlDecode、Server.UrlEncode、Server.UrlDecode的区分与应用
  11. 艾肯声卡VST新款驱动下载自带机架效果无需做跳线_小伙音频工作室分享
  12. OpenPose学习笔记
  13. 单招面试问为什么选择计算机这个专业,单招面试常见问题及答案 面试要注意什么...
  14. canvas设置lineWidth属性,出现线条被fill覆盖问题。
  15. c/C++笔试题总结
  16. C语言程序static改错题,2014计算机二级C语言程序设计全真测试题
  17. vue图片宽高自适应_Vue组件宽高自适应问题
  18. 准确率、精确率、召回率、F值
  19. Python解决“鸡兔同笼”问题
  20. 图形学 (-)数学基础

热门文章

  1. 渗透知识- Windows系统目录、服务、端口、注册表
  2. 人工操作阶段计算机是如何工作的,第一章计算机基础概述全解.ppt
  3. android倒计时功能,android实现倒计时功能(开始、暂停、0秒结束)
  4. node都会 react_学react需要node吗
  5. as死机了怎么办_Acer AS574/G开机死机故障排除手记
  6. Selenium之XPATH轴定位(第三篇)
  7. shell获取指定程序的pid号
  8. Android BLE开发(一):串口调试
  9. linux tty core code,linux tty core 源码分析(5)
  10. python 模拟键盘_python+selenium模拟键盘输入