Please forgive the colors, just trying to help illustrate my question.

The below code snipet works as designed, however the regex matches once and
exits.  I want it to continue matching and printing until EOF.  Any
suggestions?

Why the cStringIO stuff?  The input data shown below is collected from
os.popen.  I was trying to find an easy way of matching my regex.  Matching
with a string seemed easier than looping through the ouput collected.  Hmm.
Come to think of it, I guess I could match on the first "^dn" catpure that
output and then keep looping until "^cn:" is seen. Then repeat.

Anyways, any suggestions to fix the below code?

Thanks for the help,



Code Snipet
###########
multi_regex = re.compile(r'dn: uid=(\w+)..*cn: ((\w+ \w+)|(\w+ \w+\.
\w+))..*(?=dn:)', re.MULTILINE| re.DOTALL)
output = os.popen(command).readlines()
voutput = cStringIO.StringIO()
for line in output:
     voutput.write(line)
     contents = voutput.getvalue()  #<-- contents is <type 'str'>
match = re.search(multi_regex, contents)
if match:
   print match.group(1)
   print match.group(2)



Blue = is what the regex matches
Red = regex groups # match.group(#)
Green = next regex groups not being captured

INPUT Data
###########
version: 1
dn: uid=jtucker,ou=people,dc=companyA,dc=com
host: hostA
host: hostB
host: hostC
description: other
gecos: John Tucker
gidNumber: 1
uidNumber: 1157
sn: Tucker
cn: John Tucker
uid: jtucker
objectClass: top
objectClass: account
objectClass: person
objectClass: posixAccount
objectClass: shadowAccount
objectClass: inetorgperson
objectClass: organizationalPerson
loginShell: /usr/bin/ksh
homeDirectory: /home/jtucker
dn: uid=ttucker,ou=people,dc=companyA,dc=com
loginShell: /usr/bin/zsh
host: hostZ
host: hostC
uid: ttucker
cn: Tom Tucker
sn: Tucker
objectClass: top
objectClass: account
objectClass: person
objectClass: posixAccount
objectClass: shadowAccount
objectClass: inetorgperson
objectClass: organizationalPerson
uidNumber: 108
gidNumber: 102
gecos: Tom Tucker
homeDirectory: /home/ttucker
description: system


Current OUTPUT
#################
jtucker
John Tucker


Desired OUTPUT
################
jtucker
John Tucker
ttucker
Tom Tucker
_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to