From: Keith Raymond Date: 2011-08-22T23:53:58+09:00 Subject: Regex find everything between So here's the problem: I have a html document that is being spit out to me as a string. example: "\n\n \n\n \n \t
\n \t
\n \t

My page Testing

\n

some text here

\t
\n \t

This is my footer info

\n \t
\n \n" I'm using regular expression to find all the opening tags of the dom elements. , , ,

, etc... and it's working. This is via scan() method. ============================== elements = [] opening_tags = file.scan(/<\w+\s+[^>]*>/) opening_tags.each do |tag| if tag.match(/class=\\"(.*?)editor(.*?)\\"/) # tries to match anything with a class="editor" close = get_closing_tag(tag) # finds which DOM element it is and returns close tag # example if '

' returns '

' file.match(/#{tag}(.+)#{close}]/) { |m| elements << m } # pushes all matches to elements array ======================================= So I get the opening tags as it should

and

and I get a proper closing tag for each

and

but /#{tag}(.+)#{close}]/ returns nothing Output from Rails.logger.info +++++++++++++++++++++++++++++++++++++++ ==== tag ==== "

" ==== close ==== "

" ==== /#{tag}(.+)#{close}]/ ==== /

(.+)<\/p>]/ ==== tag ==== "

" ==== close ==== "

" ==== /#{tag}(.+)#{close}]/ ==== /

(.+)<\/p>]/ ==== tag ==== "

" ==== close ==== "

" ==== /#{tag}(.+)#{close}]/ ==== /

(.+)<\/p>]/ ======= elements ======== [] +++++++++++++++++++++++++++++++++++++++ Any help would be appreciated. I'm at my wits end here. If there is a completely better way to do this, I'm all ears as well. Thank you in advance. -- Posted via http://www.ruby-forum.com/.