9

I would like to detect the following sequences:

a
aA
aAa
aAaA
...

where a~[a-z] and A~[A-Z], the case alternates and the first letter is always lower-case.

Thanks,
Tom

Tom
  • 6,711
  • 12
  • 54
  • 76

2 Answers2

17
[a-z]([A-Z][a-z])*[A-Z]?
tanascius
  • 51,705
  • 21
  • 111
  • 133
4

The regex that @tanascius gave is fine, and based on that, a shorter one could be:

([a-z][A-Z])*[a-z]?

A major difference is that this one will match the empty string. I wasn't sure from the examples if that was allowed.

JXG
  • 7,093
  • 7
  • 30
  • 61
  • 1
    +1 too: If a zero-length string is valid, this would be the way to go. But I think @tanascius is right, and at least one character is required. – Alan Moore Apr 18 '10 at 09:39