匹配排除括号出现的逗号
考虑以下字符串:
12,44,foo,bar,(23,45,200),6
当前的任务是设计专门针对括号外的逗号的正则表达式。换句话说,在提供的示例中,我们需要一个正则表达式来匹配“23”和“45”后面的两个逗号,但排除其他逗号。
Java 正则表达式解决方案
假设不存在嵌套括号,我们可以使用以下 Java 正则表达式来实现所需的效果结果:
Pattern regex = Pattern.compile( ", # Match a comma\n" + "(?! # only if it's not followed by...\n" + " [^(]* # any number of characters except opening parens\n" + " \) # followed by a closing parens\n" + ") # End of lookahead", Pattern.COMMENTS);
正则表达式的解释
此正则表达式使用否定的先行断言来确认任何后续括号(如果遇到)不是右括号。如果满足此条件,则逗号被识别为匹配项。
先行断言的操作如下:
这确保正则表达式仅匹配后面没有紧跟着右括号的逗号。
以上是Java中如何匹配括号外的逗号?的详细内容。更多信息请关注PHP中文网其他相关文章!