re = /<span style=\\?"color:([a-zA-Z\s]*?)\\?">((.|\n)*?)<\/span>/
str = '<p style=\\"text-align:left\\">
<span style=\\"color:Green\\">
<span style=\\"font-size:12pt\\">
<span style=\\"font-family:Times New Roman\\">There is some content for a mm advertisment.</span>
</span>
</span>
</p>
<p style=\\"text-align:left\\">
<span style=\\"color:Green\\">
<span style=\\"font-size:12pt\\">
<span style=\\"font-family:Times New Roman\\">There is some content for a mm advertisment.There is some content for a mm advertismen</span>
</span>
</span>
<span style=\\"color:Red\\">
<span style=\\"font-size:12pt\\">
<span style=\\"font-family:Times New Roman\\">t.There is s</span>
<span style=\\"font-family:Verdana\\">ome content for a mm advertisment.There is some content for a mm advertisme</span>
</span>
</span>
<span style=\\"color:Green\\">
<span style=\\"font-size:12pt\\">
<span style=\\"font-family:Verdana\\">nt.There is some content for a mm adv</span>
<span style=\\"font-family:Times New Roman\\">ertisment.There is some content for a mm advertisment..</span>
</span>
</span>
</p>
/***************************
String tested in my script
***************************/
<p style=\\"text-align:justify\\">
<span style=\\"font-size:12pt\\">
<span style=\\"color:Green\\">
<span style=\\"font-family:Verdana\\">There is some content for a mm advertisment.There is some co</span>
<span style=\\"font-family:Times New Roman\\">ntent for a mm advertisment</span>
</span>
</span>
</p>'
# 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