regular expression

D

David Nguyen

Hi,
I need a regular expression for a filename :
it must be composed with the following letters :

a to z
A to Z
0 to 9
dash sign -
underscore sign _

then how can I compare a string with it :

mystring =~ /myregex/ #return true or false

does it works like that ?
 
R

Rob Biedenharn

Hi,
I need a regular expression for a filename :
it must be composed with the following letters :

a to z
A to Z
0 to 9
dash sign -
underscore sign _

then how can I compare a string with it :

mystring =~ /myregex/ #return true or false

does it works like that ?

Yes. Although String#=~ returns the position the match starts, or nil
if there is no match. If the right-hand-side is not a Regexp, invokes
obj.=~, passing str as an argument. The default =~ in Object returns
false.

Since a Fixnum is not nil or false, it will be "true" and both nil and
false will be "false".

The only other issue is that the dash (hyphen-minus; '-') is special
inside a character class of regular expressions. For example, if you
wanted to match a dash or digit, you could use /[-0-9]/ so the -
appearing first is not treated as a character range operation.

-Rob

Rob Biedenharn http://agileconsultingllc.com
(e-mail address removed)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,008
Latest member
HaroldDark

Latest Threads

Top