From: Joao Silva Date: 2009-08-23T19:21:37+09:00 Subject: Re: [array & regexp] Development - works, production not - why? Ok, here is my test.rb: class String def include_regexp? if /\A\/.*\/[iomx]*\Z/.match(self) true else false end end def to_regexp return Regexp.new(self) unless self.strip.match(/\A\/(.*)\/(.*)\Z/mx) regexp , flags = $1 , $2 return nil if !regexp || flags =~ /[^xim]/m x = /x/.match(flags) && Regexp::EXTENDED i = /i/.match(flags) && Regexp::IGNORECASE m = /m/.match(flags) && Regexp::MULTILINE Regexp.new regexp , [x,i,m].inject(0){|a,f| f ? a+f : a } end end def negative_terms_regexp(negative_terms) buffer = [] negative_terms.split(',').each do |term| term.strip! if term.include_regexp? buffer << term.to_regexp else if term.include?('*') || term.include?('?') buffer << term.gsub("?", ".").gsub("*", ".*").to_regexp else buffer << Regexp.new(term) end end end Regexp.union(buffer.uniq) end puts negative_terms_regexp("term, term2, termx") -- Posted via http://www.ruby-forum.com/.