re = /Insurance(?:[\s\S]*)\[(\d+)\](?:[\s\S]*)Insurance/m
str = '<td class="th-clr-cel th-clr-td th-clr-pad th-clr-cel-dis" style="width:226px; text-align:left; ">
<span class="th-tx th-tx-value th-tx-nowrap" style="width:100%; " title="Social Insurance Number (SIN)" id="C29_W120_V121_builidnumber_table[5].type_text" f2="C;40">
Social Insurance Number (SIN)
</span>'
# 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