Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 有没有一种方法可以说匹配定义的子序列/分组的一个或多个实例?_Ruby_Regex - Fatal编程技术网

Ruby 有没有一种方法可以说匹配定义的子序列/分组的一个或多个实例?

Ruby 有没有一种方法可以说匹配定义的子序列/分组的一个或多个实例?,ruby,regex,Ruby,Regex,我不知道“不同”,但是: 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

我不知道“不同”,但是:

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

嗯…扫描会传回一个数组,不是吗。是的,的确如此。谢谢你,阿德里安。
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]}" }