# Regular expression problem

mukesh tiwari mukeshtiwari.iiitm at gmail.com
Sun Mar 10 18:42:29 CET 2013

```Hello all
I am trying to solve this problem[1] using regular expression. I wrote this code but I am getting time limit exceed. Could some one please tell me how to make this code run faster.

import re

if __name__ == "__main__":
n = int ( raw_input() )
c = 1
while c <= n :
email =  filter ( lambda x : x !=  None , [ re.search ( '[^~!@#\$%^&*()<>?,.]*[a-zA-Z0-9][a-zA-Z0-9._][a-zA-Z0-9._][a-zA-Z0-9._][a-zA-Z0-9._][a-zA-Z0-9._]*@[a-zA-Z0-9]+.(com|edu|org|co.in)[^~!@#\$%^&*()<>?,.a-zA-Z0-9]*' , x ) for x in raw_input().split(' ') ] )
t = len ( email )
print 'Case #' + str ( c ) + ': ' + str ( t )
for i in xrange ( t ):
print email[i].group()
c += 1

Also rather than breaking the string at space, I tried to use findall but I am not getting correct result.

>>> re.findall ( '[^~!@#\$%^&*()<>?,.]*[a-zA-Z0-9][a-zA-Z0-9._][a-zA-Z0-9._][a-zA-Z0-9._][a-zA-Z0-9._][a-zA-Z0-9._]*@[a-zA-Z0-9]+.(com|edu|org|co.in)[^~!@#\$%^&*()<>?,.a-zA-Z0-9]*[ ]+','mukeshtiwari.iiitmmmm at gmail.com mukeshtiwari.iiitmmmmm at gmail.com')
['com']

I am suppose to get [ mukeshtiwari.iiitmmm at gmail.com , mukeshtiwari.iiitmmm at gmail.com] ?

Regards
Mukesh Tiwari

[1] http://www.spoj.com/problems/MAIN12C/

```