Sorry, meant to post this in the rails forum. Anyways, how would I write a rescue method to recover from a failed regexp parsing with error "regexp not matched" -Thanks -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
sorry, got it -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
th8254 wrote:> Sorry, meant to post this in the rails forum. Anyways, how would I write > a rescue method to recover from a failed regexp parsing with error > "regexp not matched"Could you post some code? If your user puts a regexp into a string r (and if you trust that user not to taint your program''s interior), you just need this: if /#{ r }/ =~ sample rescue advise_user(r) && false -- Phlip http://www.oreilly.com/catalog/9780596510657/ "Test Driven Ajax (on Rails)" assert_xpath, assert_javascript, & assert_ajax --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
dblack-TKXtfPMJ4Ozk1uMJSBkQmQ@public.gmane.org
2007-Jul-01 22:45 UTC
Re: Regexp not matched
Hi -- On Sun, 1 Jul 2007, Phlip wrote:> > th8254 wrote: > >> Sorry, meant to post this in the rails forum. Anyways, how would I write >> a rescue method to recover from a failed regexp parsing with error >> "regexp not matched" > > Could you post some code? If your user puts a regexp into a string r (and if > you trust that user not to taint your program''s interior), you just need > this: > > if /#{ r }/ =~ sample rescue advise_user(r) && falseI don''t think (though if I''m wrong of course I''d like to find out) that r can do any damage there. The evaluation of r is itself already a string, so this: r = "gets" /#{r}/ does not do the same as: /#{gets}/ The bigger issue here, though, is specifically rescuing from a regex parsing error, which doesn''t seem to fall under the jurisdiction of the usual runtime rescuing mechanism: irb(main):029:0> if /[/; end rescue "Bad regex" (irb):29: warning: regex literal in condition SyntaxError: compile error (irb):29: invalid regular expression; ''['' can''t be the last character ie. can''t start range at the end of pattern: /[/ David -- * Books: RAILS ROUTING (new! http://www.awprofessional.com/title/0321509242) RUBY FOR RAILS (http://www.manning.com/black) * Ruby/Rails training & consulting: Ruby Power and Light, LLC (http://www.rubypal.com) --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
dblack wrote:> The bigger issue here, though, is specifically rescuing from a regex > parsing error, which doesn''t seem to fall under the jurisdiction of > the usual runtime rescuing mechanism:rx = eval(''/'' + r + ''/'') rescue whatever($!) -- Phlip http://www.oreilly.com/catalog/9780596510657/ "Test Driven Ajax (on Rails)" assert_xpath, assert_javascript, & assert_ajax --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
dblack-TKXtfPMJ4Ozk1uMJSBkQmQ@public.gmane.org
2007-Jul-02 00:37 UTC
Re: Regexp not matched
Hi -- On Sun, 1 Jul 2007, Phlip wrote:> > dblack wrote: > >> The bigger issue here, though, is specifically rescuing from a regex >> parsing error, which doesn''t seem to fall under the jurisdiction of >> the usual runtime rescuing mechanism: > > rx = eval(''/'' + r + ''/'') rescue whatever($!)Also you can do: Regexp.new(r) rescue... David -- * Books: RAILS ROUTING (new! http://www.awprofessional.com/title/0321509242) RUBY FOR RAILS (http://www.manning.com/black) * Ruby/Rails training & consulting: Ruby Power and Light, LLC (http://www.rubypal.com) --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---