在像这样的建筑中
string.scan(regex){...}
或者
string.gsub(regex){...}
如何检查循环循环的匹配是否与原始字符串中的前一个相邻?例如,在
"abaabcaaab".scan(/a+b/){|match|
...
continued = ...
...
}
将有 3 个匹配项"ab"、"aab"和"aaab"。在每个周期中,我希望它们的变量分别continued为false、true和 ,false因为"ab"是第一个匹配周期,"aab"与它相邻,并"c"在下一个匹配之前中断"aaab"。
"ab" #=> continued = false
"aab" #=> continued = true
"aaab" #=> continued = false
origuruma 中是否有一个锚点是指上一个匹配位置的结尾?如果是这样,那可以在正则表达式中使用。如果没有,我可能需要使用MatchData#offset. 并在循环中进行一些计算。
顺便说一句,\Goriguruma 正则表达式中有什么?我的印象是它可能是我想要的锚,但我不确定它是什么。