[lnkForumImage]
TotalShareware - Download Free Software

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


 

Forums >

comp.lang.ruby

problems with regular expressions and parenthesis

Daniel Fac

11/1/2008 8:32:00 PM

hi,
i'm having some trouble with regular expressions in ruby.
If I have a regular expression like this:
^([\x20-\x7E]|\w){1,40}$, it will crash ruby if there are more than
forty characters in it. I don't understand what is wrong with this
expression, if my expression is changed to
^([\A-Za-z]|\w){1,40}$ it works perfectly well
so does this one: ^([\x20-\x7E]|\w){1,40}$
am I missing something obvious?
--
Posted via http://www.ruby-....

3 Answers

William James

11/1/2008 11:49:00 PM

0

Daniel Fac wrote:

> hi,
> i'm having some trouble with regular expressions in ruby.
> If I have a regular expression like this:
> ^([\x20-\x7E]|\w){1,40}$, it will crash ruby if there are more than
> forty characters in it. I don't understand what is wrong with this
> expression, if my expression is changed to
> ^([\A-Za-z]|\w){1,40}$ it works perfectly well
> so does this one: ^([\x20-\x7E]|\w){1,40}$

What do you mean by "so does this one"?

It's the same as the first one.

Daniel Fac

11/2/2008 1:21:00 AM

0

Daniel Fac wrote:
> hi,
> i'm having some trouble with regular expressions in ruby.
> If I have a regular expression like this:
> ^([\x20-\x7E]|\w){1,40}$, it will crash ruby if there are more than
> forty characters in it. I don't understand what is wrong with this
> expression, if my expression is changed to
> ^([\A-Za-z]|\w){1,40}$ it works perfectly well
> so does this one: ^([\x20-\x7E]|\w){1,40}$
> am I missing something obvious?

Sorry, copied it wrong:
/^([A-Za-z]|\w|\s){1,40}$/
Could it have something to do with some parts of it overlapping?
--
Posted via http://www.ruby-....

Daniel Fac

11/2/2008 1:27:00 AM

0

Daniel Fac wrote:
> Daniel Fac wrote:
>> hi,
>> i'm having some trouble with regular expressions in ruby.
>> If I have a regular expression like this:
>> ^([\x20-\x7E]|\w){1,40}$, it will crash ruby if there are more than
>> forty characters in it. I don't understand what is wrong with this
>> expression, if my expression is changed to
>> ^([\A-Za-z]|\w){1,40}$ it works perfectly well
>> so does this one: ^([\x20-\x7E]|\w){1,40}$
>> am I missing something obvious?
>
> Sorry, copied it wrong:
> /^([A-Za-z]|\w|\s){1,40}$/
> Could it have something to do with some parts of it overlapping?

Sorry, got it wrong again, these expression do not work:
/^([A-Za-z]|\w|\s){1,40}$/
^([\x20-\x7E]|\w){1,40}$

and these do:
/^([\x20-\x7E]|\s){1,40}$/
/^([A-Za-z]|\w){1,40}$/
/^([A-Za-z]|\w){1,40}$/
sorry about that
--
Posted via http://www.ruby-....