Idenfity numbers in variables

Lie Ryan lie.1296 at gmail.com
Mon Oct 20 12:39:54 EDT 2008


On Mon, 20 Oct 2008 13:16:48 +0200, Alfons Nonell-Canals wrote:

> Hello,
> I have a trouble and I don't know how to solve it. I am working with
> molecules and each molecule has a number of atoms. I obtain each atom
> spliting the molecule.
> 
> Ok. It is fine and I have no problem with it.
> 
> The problem is when I have to work with these atoms. These atoms usually
> are only a letter but, sometimes it can also contain one o more numbers.
> If they contein a number I have to manipulate them separately.
> 
> If the number was allways the same I know how to identify them, for
> example, 1:
> 
> atom = 'C1'
> 
> if '1' in atom:
> 	print 'kk'
> 
> But, how can I do to identify in '1' all possibilities from 1-9, I
> tried:
> 
> if '[1-9]', \d,...
> 

That's the job of regular expression: 'import re'

numbered_atom = re.compile('[A-Z][a-z]?[0-9]+')
if numbered_atom.match('C10'):
    # this is a numbered atom
if numbered_atom.match('C'):
    # this WON'T match

read more about regular expression on the web (hint: python share the 
same re syntax with many other languages, php, javascript, grep, etc)




More information about the Python-list mailing list