def generate_regexp_for_example
return if @example_type != EXAMPLE_TYPE_STRING
return if @temp_sink.nil?
return if @temp_sink.is_a? String
return if @example =~ /.+\[.+\]$/
text = SharedUtils.prepare_text_for_comparison(@temp_sink.inner_html.gsub(/<.*?>/, ''))
match_range = @temp_sink.match_data.begin(0)..@temp_sink.match_data.end(0)
return if match_range == (0..text.length)
@regexp = text
@temp_sink.changing_ranges.sort.reverse.each do |range|
@regexp[range] = if range == match_range then '<<<regexp_selection>>>' else '<<<regexp_changing>>>' end
end
@regexp = Regexp.escape(@regexp)
@regexp = @regexp.gsub('<<<regexp_changing>>>', '.*?')
@regexp = @regexp.gsub('<<<regexp_selection>>>', '(.*?)')
@regexp = '^' + @regexp + '$'
@regexp = /#{@regexp}/
end