# Regular Expressions and Ruby

**URL:** <https://www.ruby-forum.com/t/regular-expressions-and-ruby/48509>\
**Category:** Ruby\
**Created:** [November 21, 2005, 5:40pm UTC](https://www.ruby-forum.com/t/regular-expressions-and-ruby/48509 "2005-11-21T17:40:47Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![george.lunsford](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/8c91f0/32.png) [@george.lunsford](https://www.ruby-forum.com/u/george.lunsford)\
**Post date:** [November 21, 2005, 5:40pm UTC](https://www.ruby-forum.com/t/regular-expressions-and-ruby/48509/1 "2005-11-21T17:40:47Z")

</div>

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)+
