java正则表达式逗号_正则表达式只匹配逗号而不是括号?
保罗,复活了这个问题,因为它有一个未提及的简单解决方案。(在进行正则表达式赏金任务研究时发现了您的问题。)
此外,现有解决方案还会检查逗号后是否没有括号,但这并不能保证它会嵌入括号中。
正则表达式非常简单:\(.*?\)|(,)
交替的左侧与完整的括号匹配。我们将忽略这些匹配。右侧匹配并捕获到组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正则表达式逗号_正则表达式只匹配逗号而不是括号?相关推荐
- java 正则表达式效验_正则表达式(Java版整理)
基础 元字符 代码 说明 . 匹配除换行符以外的任意字符 \w 匹配字母或数字或下划线或汉字 \s 匹配任意的空白符 \d 匹配数字 ^ 匹配字符串的开始 $ 匹配字符串的结束 \b 匹配字符串的结束 ...
- JAVA正则表达式乘号_正则表达式基本语法
首先,让我们看看两个特别的字符:'^' 和 '$' 他们是分别用来匹配字符串的开始和结束,一下分别举例说明 "^The": 匹配以 "The"开头的字符串; & ...
- java 正则表达式 反向_正则表达式中的数量表示符、反向引用、零宽断言、以及java中的用法...
在表示数量时,如果一个正则表达式X,后面没有加表示数量的符号,那就默认出现一次.如果指定需要出现n次,那就用{n},例如a{n},就是匹配a出现n次的.a{n,}表示a出现至少n次的,而这个时候就会默 ...
- java中文逗号替换成英文逗号_织梦中文逗号自动替换成英文逗号的方法
织梦中文逗号自动替换成英文逗号的方法 发布时间:2020-08-18 15:00:18 来源:亿速云 阅读:102 作者:小新 小编给大家分享一下织梦中文逗号自动替换成英文逗号的方法,相信大部分人都还 ...
- java中文逗号替换成英文逗号_织梦中文逗号怎么自动替换成英文逗号
织梦中文逗号怎么自动替换成英文逗号? 织梦DEDECMS发布文档输入tag时,中文逗号自动替换成英文逗号的方 推荐学习:织梦cms 从织梦DedeCms5.3版本开始,把TAG标签的间隔号由空格改为英 ...
- java 正则表达式 大括号_正则表达式:小括号、中括号、大括号的区别
一.小括号().中括号[].大括号的区别 1>. 小括号():匹配小括号内的字符串,可以是一个,也可以是多个,常跟"|"(或)符号搭配使用,是多选结构的 示例1:string ...
- python 正则表达式 前瞻_正则表达式 For Python
Manarola 正则表达式有很多流派,也有很多的特性,不同的语言支持度也是不一样的.本篇文章是写Python中的正则表达式的用法的,介绍了一些可用特性,也指出了某些特性是不支持的. 本篇文章仅为学习 ...
- python正则表达式试题_正则表达式练习题2
1.匹配一行文字中的所有开头的字母内容 #coding=utf-8 import re s="i love you not because of who you are,but becaus ...
- java 正则 关键字_正则表达式关键字
在表达式中有特殊意义,需要添加 "\" 才能匹配该字符本身的字符汇总 字符 说明 ^ 匹配输入字符串的开始位置.要匹配 "^" 字符本身,请使用 "\ ...
最新文章
- 决策树--信息增益,信息增益比,Geni指数的理解
- 图像分类经典项目:基于开源数据集Fashion-MNIST的应用实践
- ML/DL之预测分析类:利用机器学习算法进行预测分析的简介、分析、代码实现之详细攻略
- python requests get请求_python+requests+new——get请求各种情况
- 征稿:2018-2019音视频技术回顾与展望
- dojo.publish 和 dojo.subscribe
- [pytorch、学习] - 5.7 使用重复元素的网络(VGG)
- linux 修改文件时间
- 大前端的自动化工厂(3)—— babel
- HttpUtility.UrlEncode、HttpUtility.UrlDecode、Server.UrlEncode、Server.UrlDecode的区分与应用
- 艾肯声卡VST新款驱动下载自带机架效果无需做跳线_小伙音频工作室分享
- OpenPose学习笔记
- 单招面试问为什么选择计算机这个专业,单招面试常见问题及答案 面试要注意什么...
- canvas设置lineWidth属性,出现线条被fill覆盖问题。
- c/C++笔试题总结
- C语言程序static改错题,2014计算机二级C语言程序设计全真测试题
- vue图片宽高自适应_Vue组件宽高自适应问题
- 准确率、精确率、召回率、F值
- Python解决“鸡兔同笼”问题
- 图形学 (-)数学基础
热门文章
- 渗透知识- Windows系统目录、服务、端口、注册表
- 人工操作阶段计算机是如何工作的,第一章计算机基础概述全解.ppt
- android倒计时功能,android实现倒计时功能(开始、暂停、0秒结束)
- node都会 react_学react需要node吗
- as死机了怎么办_Acer AS574/G开机死机故障排除手记
- Selenium之XPATH轴定位(第三篇)
- shell获取指定程序的pid号
- Android BLE开发(一):串口调试
- linux tty core code,linux tty core 源码分析(5)
- python 模拟键盘_python+selenium模拟键盘输入