Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical

Re^2: regex to remove all non a-z and spaces

by coldfingertips (Pilgrim)
on May 16, 2005 at 02:52 UTC ( #457340=note: print w/replies, xml ) Need Help??

in reply to Re: regex to remove all non a-z and spaces
in thread regex to remove all non a-z and spaces

I'm not good with regexes to any degree but doesn't ^ just mean to match at the beginning of the string? How is this removing everything but a-z and numbers?
  • Comment on Re^2: regex to remove all non a-z and spaces

Replies are listed 'Best First'.
Re^3: regex to remove all non a-z and spaces
by mrborisguy (Hermit) on May 16, 2005 at 02:53 UTC
    usually, ^ does mean at the beginning, but the [ and ] make a character class, and a ^ at the beginning of a character class means "not any of these".

    Oddly enough, it doesn't explicitly say that in perlre. however, it does say
    You can negate the [::] character classes by prefixing the class name with a '^'. This is a Perl extension.
      So what it's really saying is "s/// anything that is not within our class"? So s/[^0-9\.-]//g; would be an example on how to remove any non number (except - and .)?
        yep! you got it.

      Oops, that's a strange omission in the docs (though negating character classes is briefly mentioned in perlrequick and perlretut.

      Just for the record, it is specifically the negation of POSIX character classes that is a perl extension - /[^a-z]/ is straight from Henry Spencer's original code.


Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://457340]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (6)
As of 2020-10-28 17:22 GMT
Find Nodes?
    Voting Booth?
    My favourite web site is:

    Results (262 votes). Check out past polls.