From: shaman on
Hello-

I need to match any string which contain:

any 3 letters
any 3 digits _but_not_123_
any 3 letters

so:
xxx765xxx should match
vvv123vvv should be omitted

is it possible to write proper regular expression?

Regards-
shaman
From: Srijayanth Sridhar on
/([a-z]{3})[02-9][0-9]{2}\1/

Should work.

Jayanth

On Thu, Jul 3, 2008 at 3:21 PM, shaman <noone(a)nowhere.com> wrote:
> Hello-
>
> I need to match any string which contain:
>
> any 3 letters
> any 3 digits _but_not_123_
> any 3 letters
>
> so:
> xxx765xxx should match
> vvv123vvv should be omitted
>
> is it possible to write proper regular expression?
>
> Regards-
> shaman
>
>

From: Roc Ho on
/^\w{3}[0,4-9]{3}\w{3}$/



Hello-

I need to match any string which contain:

any 3 letters
any 3 digits _but_not_123_
any 3 letters

so:
xxx765xxx should match
vvv123vvv should be omitted

is it possible to write proper regular expression?

Regards-
shaman


From: Srijayanth Sridhar on
irb(main):008:0> m
=> /([a-z]{3})[02-9][0-9]{2}\1/
irb(main):009:0> a='xxx765xxx'
=> "xxx765xxx"
irb(main):010:0> b='vvv123vvv'
=> "vvv123vvv"
irb(main):011:0> a.match(m)
=> #<MatchData:0xb7dc0354>
irb(main):012:0> puts a.match(m)
xxx765xxx
=> nil
irb(main):013:0> puts b.match(m)
nil
=> nil

Jayanth

On Thu, Jul 3, 2008 at 3:41 PM, Srijayanth Sridhar <srijayanth(a)gmail.com> wrote:
> /([a-z]{3})[02-9][0-9]{2}\1/
>
> Should work.
>
> Jayanth
>
> On Thu, Jul 3, 2008 at 3:21 PM, shaman <noone(a)nowhere.com> wrote:
>> Hello-
>>
>> I need to match any string which contain:
>>
>> any 3 letters
>> any 3 digits _but_not_123_
>> any 3 letters
>>
>> so:
>> xxx765xxx should match
>> vvv123vvv should be omitted
>>
>> is it possible to write proper regular expression?
>>
>> Regards-
>> shaman
>>
>>
>

From: shaman on
Srijayanth Sridhar pisze:

> /([a-z]{3})[02-9][0-9]{2}\1/
>
> Should work.
> irb(main):008:0> m
> => /([a-z]{3})[02-9][0-9]{2}\1/
> irb(main):009:0> a='xxx765xxx'
> => "xxx765xxx"
> irb(main):010:0> b='vvv123vvv'
> => "vvv123vvv"
> irb(main):011:0> a.match(m)
> => #<MatchData:0xb7dc0354>
> irb(main):012:0> puts a.match(m)
> xxx765xxx
> => nil
> irb(main):013:0> puts b.match(m)
> nil
> => nil
>

it's not so easy because "vvv133vvv" also should match but your
expression return nil :(


irb(main):001:0> reg = /([a-z]{3})[02-9][0-9]{2}\1/
=> /([a-z]{3})[02-9][0-9]{2}\1/
irb(main):002:0> a = "vvv123xxx"
=> "vvv123xxx"
irb(main):003:0> puts a.match(reg)
nil
=> nil
irb(main):004:0> b = "vvv133xxx"
=> "vvv133xxx"
irb(main):005:0> puts b.match(reg)
nil
=> nil

numer 123 is the only one should not match.