Re: RegEx - Chk for special chars



On 30.04.2007 01:37 M Kinnear wrote:
I want to check a string only contains a-z 0-9 ( ) . and #

I've used

ereg("^[a-zA-z0-9().#]*)$"),$instr)

This line has a syntax error. I'd suggest

preg_match('/^[\w().#]*$/D', $instr)


which parses a string correctly until I try and parse a !,",£,$ ... or any of the other special/reserved characters.

First q: what am I doing wrong
Second q: is there clarification on whether characters need to be escaped when part of a regex statement? i.e., should it be [$] or [\$] - some websites/posts state they should be escaped, others say they shouldn't

Inside a character class ([...]) only slash \ caret ^ and dash - have special meaning and should be escaped. All other chars are taken literally. When using double quotes, you also have to escape dollar sign when it comes before a letter.




Thanks

Matt




--
gosha bine

extended php parser ~ http://code.google.com/p/pihipi
blok ~ http://www.tagarga.com/blok
.



Relevant Pages

  • Re: RegEx - Chk for special chars
    ... of the other special/reserved characters. ... is there clarification on whether characters need to be escaped ... websites/posts state they should be escaped, ... you also have to escape dollar sign ...
    (comp.lang.php)
  • Re: What does this notation mean?
    ... Any clarification on this would be much appreciated. ... Using square brackets to escape names also shows up in VB when one uses ... spaces in Field/Column names or when one encounters such names as also being ... It is also used in Function/Sub Declarations when an API function name ...
    (microsoft.public.vb.general.discussion)