我有一个大文字,我想在某个字符串之前删除所有内容。
问题是,文本中出现了几次该字符串,我想通过稍后分析找到的文本来决定哪一个是正确的。 由于其复杂性,我无法将该分析包含在正则表达式中:
text = <<HERE
big big text
goes here
HERE
pos = -1
a = text.scan(/some regexp/im)
a.each do |m|
s = m[0]
# analysis of found string
...
if ( s is good ) # is the right candidate
pos = ??? # here I'd like to have a position of the found string in the text.
end
end
result_text = text[pos..-1]
答案 0 :(得分:4)
$~.offset(n)
会给出n
部分匹配的位置。
答案 1 :(得分:0)
我认为您应该计算大字符串中出现的次数,然后使用index来切断与最终模式不匹配的所有事件。