首页  >  文章  >  Java  >  如何使用Java正则表达式匹配括号外的逗号?

如何使用Java正则表达式匹配括号外的逗号?

Patricia Arquette
Patricia Arquette原创
2024-11-23 00:23:14908浏览

How to Match Commas Outside Parentheses Using Java Regular Expressions?

使用 Java 正则表达式匹配括号外的逗号

给定一个可能包含在括号内的逗号的字符串,目标是识别以下逗号不包含在任何括号分组内。这可以通过自定义正则表达式来实现。

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);

此正则表达式模式利用否定先行断言来验证下一个连续括号(如果存在)不是右括号。只有在这种情况下才允许匹配逗号。

用法和说明

该模式分为两个主要组成部分:

  1. 匹配逗号:正则表达式以任何独立的简单匹配开始逗号。
  2. 否定先行断言: 以下部分用括号括起来,前面带有 (?!,断言逗号后面的字符序列不应与指定的模式匹配。在此在这种情况下,它确保并非所有字符直到并包括下一个右括号(由 [^)]* \) 表示

通过排除括号内的逗号,此正则表达式仅有效捕获存在于任何括号分组之外的逗号。

以上是如何使用Java正则表达式匹配括号外的逗号?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn