Есть ли способ сказать совпадение 1 или более экземпляров определенной подпоследовательности / группировки? - PullRequest
0 голосов
/ 01 августа 2010
require 'rubygems'  
require 'differ'

original = "Epic lolcat fail bellmead drive!"  
current = "Epic wolfman fail bellmead dr!"

diff = Differ.diff_by_word(current, original).to_s   

puts diff # => "Epic {"lolcat" >> "wolfman"} fail bellmead {"drive" >> "dr"}!

diff =~ /(\{"[a-zA-Z0-9]*" >> "[a-zA-Z0-9s]*"\})/

puts "#{$1} to #{$2} #{$3} to #{$4}"
# => lolcat to wolfman to

# Desired output: lolcat to wolfman to drive to dr

1 Ответ

1 голос
/ 01 августа 2010

Я не знаю, «отличаются», но как насчет:

require 'rubygems'  
require 'differ'

original = "Epic lolcat fail bellmead drive!"  
current = "Epic wolfman fail bellmead dr!"

diff = Differ.diff_by_word(current, original).to_s   

puts diff # => "Epic {"lolcat" >> "wolfman"} fail bellmead {"drive" >> "dr"}!

captures = diff.scan /\{"([a-zA-Z0-9]*)" >> "([a-zA-Z0-9s]*)"\}/

captures.each {|c| puts "#{c[0]} to #{c[1]}" }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...