It is matching [pr] and [es]

On 21/11/05, Dirk Meijer <hawkman.gelooft / gmail.com> wrote:
> hi,
> i'm not entirely sure, but i'd say it's because S appears before Se (in your
> regexp), so you'd have to start with all elements that have two letters.. i
> think that will work, not sure though..
> greetings, Dirk.
>
>  2005/11/21, George Lunsford <george.lunsford / gmail.com>:
> >
> > Hi, I'm new to the list and I hope this is the right place to ask the
> > question, but I recently started learning ruby and I was writing a short
> > little program to test if a word was made up of symbols from the periodic
> > table. I figured I'd use ruby's built-in regex support, so I ended up
> > writing a regex that looks something like this:
> > (element1|element2|element3...|elementx)+
> > Basically it's just got all 115 or so of the elements in there, and it's
> > testing for one or more, right? Unfortunately this doesn't seem to work
> > properly as a (nonsense) word like "presenti" should be periodic according
> > to my list of elements, [p][re][se][n][ti]. Now, I can duplicate this
> > behavior with the regex coach oddly enough. The problem seems to be that
> > it
> > parses [p][re][s] instead of [se]. I'm wondering if anyone can explain
> > this
> > behavior to me, as I'm new to both regexps and ruby and the only regex
> > experience I've had previous to this is in some theory classes. Thanks.
> > The
> > full expression is below.
> >
> >
> > (He|Li|Be|C|O|Ne|Na|Mg|Al|Si|S|Cl|Ar|Ca|Sc|Ti|Cr|Mn|Fe|Co|Ni|Cu|Zn|Ga|Ge|As|Se|Br|Kr|Rb|Sr|Zr|Nb|Mo|Tc|Ru|Rh|Pd|Ag|Cd|In|Sn|Sb|Te|Xe|Cs|Ba|Hf|Ta|Re|Os|Ir|Pt|Au|Hg|Tl|Pb|Bi|Po|At|Rn|Fr|Ra|Rf|Db|Sg|Bh|Hs|Mt|Uun|Uuu|Uub|Uuq|Uuh|Uuo|Ds|La|Ce|Pr|Nd|Pm|Sm|Eu|Gd|Tb|Dy|Ho|Er|Tm|Yb|Lu|Ac|Th|Pa|Np|Pu|Am|Cm|Bk|Cf|Es|Fm|Md|No|Lr|H|B|N|F|P|V|Y|I|W|Uaal)+
> >
> >
>
>


--
http://www.snowblink.co.uk/