------art_31471_32572886.1132592878991
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

That does seem to do it. Thanks for the help everybody, guess I've got some
reading to do about regexps. :)

On 11/21/05, Dave Burt <dave / burt.id.au> wrote:
>
> George Lunsford <george.lunsford / gmail.com> writes:
>
> > 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)+
>
> You'll note if you match against /^(He|...|Uaal)$/i it matches the full
> string "presenti". Read perlretut for more info on how regexps work.
> Basically, it is greedy, but it won't backtrack unless it has failed to
> find
> a match. With your example, the S matches, then the following characters
> don't match anything, but it has already succeeded, so it doesn't bother
> trying Se.
>
> http://www.cs.rit.edu/~afb/20013/plc/perl5/doc/perlretut.html#grouping
> things and hierarchical matching
>
> Cheers,
> Dave
>
>
>
>

------art_31471_32572886.1132592878991--