Groovy字符串分组解析

Groovy字符串分组解析,groovy,Groovy,我想将形式为“xx;yy;zz%;tt”的字符串解析为组,其中是分隔符字符,%是转义字符。因此,在本例中,它变成了一个包含3个元素的列表,其中包含[xx,yy,zz;tt] 我知道split方法,但它不需要转义字符,而且似乎我需要很多行和临时变量来实现想要的结果。有没有一种简单的方法可以通过闭包实现这一点?使用带有负查找的正则表达式来匹配前面没有百分号的所有分号: static void main(String[] args) { String test = "xx;yy;zz%;tt"

我想将形式为
“xx;yy;zz%;tt”
的字符串解析为组,其中
是分隔符字符,
%
是转义字符。因此,在本例中,它变成了一个包含3个元素的列表,其中包含
[xx,yy,zz;tt]


我知道split方法,但它不需要转义字符,而且似乎我需要很多行和临时变量来实现想要的结果。有没有一种简单的方法可以通过闭包实现这一点?

使用带有负查找的正则表达式来匹配前面没有百分号的所有分号:

static void main(String[] args) {
    String test = "xx;yy;zz%;tt"
    def arr = test.split(/(?<!%)\;/)
    println(arr)
}
static void main(字符串[]args){
字符串测试=“xx;yy;zz%;tt”
def arr=测试分割(/(?)?
印刷品:

[xx,yy,zz%;tt]

为了防止正则表达式捕获分号前面的字符,必须使用lookback