[EMAIL PROTECTED] wrote: > Hi, I am having some difficulty trying to create a regular expression. > > Consider: > > <tag1 name="john"/> <br/> <tag2 value="adj__tall__"/> > <tag1 name="joe"/> > <tag1 name="jack"/> > <tag2 value="adj__short__"/> > > Whenever a tag1 is followed by a tag 2, I want to retrieve the values > of the tag1:name and tag2:value attributes. So my end result here > should be > john, tall > jack, short
import re data = """ <tag1 name="john"/> <br/> <tag2 value="adj__tall__"/> <tag1 name="joe"/> <tag1 name="jack"/> <tag2 value="adj__short__"/> """ elems = re.findall("<(tag1|tag2)\s+(\w+)=\"([^\"]*)\"/>", data) for i in range(len(elems)-1): if elems[i][0] == "tag1" and elems[i+1][0] == "tag2": print elems[i][2], elems[i+1][2] </F> -- http://mail.python.org/mailman/listinfo/python-list