From your description I think you need the \w character class,
If you want to exclude the underscore as well then you have to say the character class explicitly,$ perl -le 'print "hello world" =~ /^\w+$/ ? "OK" : "BAD"' BAD ---> contain spaces $ perl -le 'print "helloworld" =~ /^\w+$/ ? "OK" : "BAD"' OK $ perl -le 'print "hello_world" =~ /^\w+$/ ? "OK" : "BAD"' OK ---> underscore is considered alphanumeric character.
Since version 5.6.0, Perl supports [:class:] style of character class, and the equivalet for above is [:alnum:].$ perl -le 'print "hello_world" =~ /^[a-zA-Z0-9]+$/ ? "OK" : "BAD"' BAD ---> underscore is not in the class
HTH,$ perl -le 'print "hello world" =~ /^[[:alnum:]]+$/ ? "OK" : "BAD"' BAD ---> space is not alnum $ perl -le 'print "hello_world" =~ /^[[:alnum:]]+$/ ? "OK" : "BAD"' BAD ---> _ is not alnum $ perl -le 'print "HelloWorld1" =~ /^[[:alnum:]]+$/ ? "OK" : "BAD"' OK --> nothing there but letters and digits
Open source softwares? Share and enjoy. Make profit from them if you can. Yet, share and enjoy!
In reply to Re: check if string contains anything other than alphanumeric
by naikonta
in thread check if string contains anything other than alphanumeric
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |