Re: Regular expression: How do I allow forward slashes?

frogstarr78
Mon, 21 Dec 2009 05:52:37 -0000

Yeah, I understand what you mean. No worries.

On Dec 19, 11:10 pm, AlwaysCharging
<goodg...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
wrote:
> But that made me question why I couldn''t just put the
"/" inside of
> the bracket as well.  Like why did that have to be escaped if the
> period didn''t.  (I guess it''s because in that syntax, the
forward
> slash has closure properties.)
> Oh well it''s working now, and I escaped the . as well (\.).
> Thank you for your help.  Much appreciated frogstarr
>
> On Dec 20, 12:09 am, frogstarr78
<frogstar...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
>
>
>
> > It actually depends on where the "." is in the Regexp. In
your case it
> > is inside a Character Class "[]". So it is matching the
"." character
> > explicitly. Since \w is shorthand for the [a-zA-Z] character class. It
> > is parsed as a character class instead of an escaped "w"
character. So
> > you could actually change the character class to be %r|[-\w_./]|. No
> > need to further escape the "_", or "-" since it is
at the beginning of
> > the class (That''s for another reason though).
>
> > On Dec 19, 10:12 am, AlwaysCharging
<goodg...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
>
> > > Yes, that did it.  Thank you.
> > > No idea how I try everything and overlook the simplest solution,
duh.
>
> > > And, Thank you to everyone else that weighed in as well,
definitely
> > > some other options to look into.
>
> > > Side note:  Anybody know why the period doesn''t have to
be escaped?
> > > Like just "." allows the dot to be input, as well as
"\."
> > > So, [-\w\_\.\/] works just as [-\w\_.\/].  Why is this?
>
> > > On Dec 19, 3:41 am, frogstarr78
<frogstar...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
>
> > > > Have you tried escaping them "\/"?
>
> > > > On Dec 18, 11:01 pm, AlwaysCharging
<goodg...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
>
> > > > > In my app, I allow users to submit urls.  They (of
course) need the
> > > > > ability to submit urls with a forward slash,
"/", but whats the
> > > > > regular expression to allow them to do that?
>
> > > > > I currently use:
>
> > > > > validates_format_of :url, :with => /^[-\w\_.]+$/i
>
> > > > > to only allow alphanumerics, dashes, underscores, and
dots to prevent
> > > > > cross site scripting when I later reconstruct these
urls, but I can''t
> > > > > figure out how to allow "/" as well.
>
> > > > > Any ideas?