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?

# Problems with regular expressions and parenthesis

**arachnd**#1

**arachnd**#2

Daniel F. 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.

**arachnd**#3

Daniel F. 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?

**arachnd**#4

Daniel F. wrote:

Daniel F. 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