[英]Groovy split with RegEx get string between 2 other strings
I have a question, i also searched a long time to get the answer. 我有一个问题,我也搜索了很长时间才能得到答案。 But nothing was working for me.
但是什么都没有为我工作。 I hope someone can help me please.
我希望有人能帮助我。
I hava a very long String like this: 我有一个很长的字符串,像这样:
"... {"test":"test","name":"version1","archived":false,"released":false,"projectId":xx5},{"test":"test","name":"fix1","archived":false,"released":false,"projectId":xx5}, ..."
now i want to get all values after "name". 现在我想获取“名称”之后的所有值。 In this little example it is then "version1" and "fix1".
在这个小例子中,它是“ version1”和“ fix1”。 I try to do this with regex.
我尝试使用正则表达式来做到这一点。 But it seems that i am doing something wrong.
但是,看来我做错了。 Programming language is GROOVY.
编程语言是GROOVY。
def raiseStarList = []
def regex = '(?<="name":")*(?=",")'
for (String s : response.split(regex)) {
if ( s.contains("Raise") ) {
raiseStarList << s
}
}
println raiseStarList
As you can see i try to filter between "name":" and "," 如您所见,我尝试在“ name”:“和”,“之间进行过滤
But my RegEx is not working correctly. 但是我的RegEx无法正常工作。
def s='''[{"test":"test","name":"version1","archived":false,"released":false,"projectId":"xx5"},{"test":"test","name":"fix1","archived":false,"released":false,"projectId":"xx5"}]'''
//using json parser
def j = new groovy.json.JsonSlurper().parseText(s)
def res = j.collect{it.name}
println res
//using regex
def r = /"name":"([^"]*)"/
def res2=(s=~r).collect{it[1]}
println res2
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.