re = /(?sm)(?:^\h*(?:\/\/|[#;])[^\n]*|\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\/)(*SKIP)(*F)|^\s*([^=\n]+?)\s*=\s*(.*?);\h*(?:$|\r?\n)/
str = '/*
anything description
*/
// Some=comment
;Another = comment
# and this comment = too
Data1 = value1;
OtherData<> = Other Value;
/*
my other description
*/
Any thing = Any
Answer;
/*
this is description and must not detect
Description_Data = Any_Value;
*/'
# Print the match result
str.scan(re) do |match|
puts match.to_s
end
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Ruby, please visit: http://ruby-doc.org/core-2.2.0/Regexp.html