[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Re: Why is this regex invalid?

Daniel Sheppard

12/7/2006 1:30:00 AM

> > /([0-9]*)([^\+\- ]+)(.*)/ should work - note the escaped dash.
>
> Rubbish. In character ranges, \ is not special.

A rubbish upon your rubbish. \ are special pretty much anywhere.
Otherwise how would you match all chars except a ']' ?

irb(main):007:0> /([0-9]*)([^\+\- ]+)(.*)/.match('44dads')[0..-1]
=> ["44dads", "44", "dads", ""]
irb(main):008:0> /([0-9]*)([^\+\- ]+)(.*)/.match('44-dads')[0..-1]
=> ["44-dads", "4", "4", "-dads"]
irb(main):009:0> /([0-9]*)([^\+- ]+)(.*)/.match('44-dads')[0..-1]
SyntaxError: compile error
(irb):9: invalid regular expression: /([0-9]*)([^\+- ]+)(.*)/
from (irb):9
irb(main):010:0> /([0-9]*)([^\+\- ]+)(.*)/.match('44\\dads')[0..-1]
=> ["44\\dads", "44", "\\dads", ""]