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 ?
···
--
Posted via http://www.ruby-forum.com/.
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
Rob@AgileConsultingLLC.com
···
On Aug 6, 2008, at 10:26 AM, David Nguyen wrote:
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 ?