Ruby中的正则表达式字符串解析

Ruby中的正则表达式字符串解析,ruby,regex,Ruby,Regex,我有这个集合(点数变量,这里是2): 我希望它最终成为这样的字符串: A This is some Text belonging to A This also belongs to A B This should be with B same with this 我的尝试是这样的: answer.scan(/^([A-Z].+?(?=^[A-Z]))/m).map { |d| d.delete("\n") }.join("\n") 问题是这与最后一个集合不匹配(可以假设字符串以最后一个集合结

我有这个集合(点数变量,这里是2):

我希望它最终成为这样的字符串:

A This is some Text belonging to A This also belongs to A
B This should be with B same with this
我的尝试是这样的:

answer.scan(/^([A-Z].+?(?=^[A-Z]))/m).map { |d| d.delete("\n") }.join("\n")
问题是这与最后一个集合不匹配(可以假设字符串以最后一个集合结尾) 有什么想法吗?:)

edit1:修复了一个键入错误并尝试了一个新的正则表达式,在哪种类型的正则表达式中工作,但仍然有一些不必要的匹配?

text=
text=
text = <<EOS
A 
 This is some Text belonging to A
 This also belongs to A
B 
 This should be with B
 same with this
 variable line
EOS

text.gsub(/\s?\n\s/, ' ')

# Outputs: 
# A This is some Text belonging to A This also belongs to A
# B This should be with B same with this variable line
现在似乎有用。。。但这可能不是最好的办法


现在似乎有用。。。不过,这可能不是我建议的最好的方法——Ruby的regexp测试仪!也许正则表达式并不能解决你的问题@nikola。大多数问题都没有得到“好的”或富有成效的答案,除了主干问题,因为我停止了那个项目,所以我放弃了主干问题。因此,我真的不能说它是否正确。(关于标签的问题可能无论如何都不属于这里)我建议-一个Ruby的regexp测试仪!也许正则表达式并不能解决你的问题@nikola。大多数问题都没有得到“好的”或富有成效的答案,除了主干问题,因为我停止了那个项目,所以我放弃了主干问题。因此,我真的不能说它是否正确。(关于标签的问题可能无论如何都不属于这里)你认为这只适用于2套吗?对于3,它似乎不会在2和3之间插入换行符,我指的是大写字母,然后是一些文本。我现在已经做到了,虽然看起来有点凌乱……你认为这只适用于2盘吗?对于3,它似乎不会在2和3之间插入换行符,我指的是大写字母,然后是一些文本。虽然看起来有点凌乱,但现在已经设法做到了。。。
text = <<EOS
A 
 This is some Text belonging to A
 This also belongs to A
B 
 This should be with B
 same with this
 variable line
EOS

text.gsub(/\s?\n\s/, ' ')

# Outputs: 
# A This is some Text belonging to A This also belongs to A
# B This should be with B same with this variable line
answer = answer
.scan(/^([A-Z].+?(?=^[A-Z]))|(^[A-Z].+?\Z)/m)
.map {|item| item.reject { |i| i.nil? } }
.map { |d| d[0].delete("\n") }
.join("\n")