У меня есть следующее регулярное выражение в Ruby:
\<name\>(.+)\<\/name\>
Внутри оператора if, например, так:
if line =~ /\<name\>(.+)\<\/name\>/
Есть ли способ получить значение группы (.+)?
(.+)
Заранее спасибо!
В переменной $1
$1
Вместо использования регулярных выражений для разбора XML или HTML, используйте настоящий анализатор. Мне нравится Nokogiri:
require 'nokogiri' doc = Nokogiri::XML('<somecontainingtags><name>blah</name></somecontainingtags>') # find all occurences doc.search('//name').map {|n| n.inner_text } # => ["blah"] # find the first occurance doc.at('//name').inner_text # => "blah"