正则表达式在破折号之间替换字符串(groovy)

时间:2014-04-15 11:23:32

标签: regex groovy

我在groovy中有一个方法,它接收以下格式的字符串:

def src = "a.b.c-constant-qualifier"
def update = "test"

我试图想出一个正则表达式,用更新的字符串替换 - ??? - 之间的东西。在上述情况下,结果应为:

String result =“a.b.c-test-qualifier”

我目前正在做:

def update ="-test-" 
def src = "a.b.c-constant-qualifier"
def result = (src =~ /-constant-/).replaceFirst(update)

只要源字符串包含"-constant-"字符串,该工作就可以正常工作。但是,如何使我的正则表达式工作,以便用更新字符串替换两个破折号之间的任何内容?

1 个答案:

答案 0 :(得分:3)

请改为:

def update ="-test-"
def src = "a.b.c-constant-qualifier"
def result = (src =~ /-[^-]*-/).replaceFirst(update)

演示:http://regex101.com/r/rZ3nJ0