RegEx:如何分割这个

时间:2011-10-19 21:03:03

标签: regex

已经很晚了,我正在努力,有人可以帮助我。 我想分开这个...

[stuffa1,stuffa2],[stuffb1,stuffb2]

进入

[stuffa1,stuffa2]
[stuffb1,stuffb2]

通过reg exp。

它也可能是......

[stuffa1,stuffa2]

[stuffa1,stuffa2],[stuffb1,stuffb2],[stuffc1,stuffc2]

2 个答案:

答案 0 :(得分:5)

有几种方法可以做到这一点。

不需要正则表达式

  1. 删除第一个字符([
  2. 删除最后一个字符(]
  3. 拆分],[
  4. 现在你的作品看起来像stuffa1,stuffa2。如果需要,请将[]添加回每个字符串。
  5. 使用支持look-behind(和预见)的正则表达式

    分裂:

    (?<=\]),(?=\[)
    

    这将为您提供看起来像[stuffa1,stuffa2]

    的完整作品

答案 1 :(得分:2)

您可以使用正向前瞻和向后看将方括号([])添加到分隔符,而不将它们包含在作为分隔符本身的内容中:

String input = "[stuffa1,stuffa2],[stuffb1,stuffb2]";
String[] groups = input.split("(?<=\\]),(?=\\[)");

语言:Java。 “纯”正则表达式是(?<=\]),(?=\[)