Pyparsing makes building expressions with named fields pretty easy. from pyparsing import Word, alphas
wrd = Word(alphas) templ = "The" + wrd("object") + "in" + wrd("location") + \ "stays mainly in the" + wrd("subloc") + "." tests = """\ The rain in Spain stays mainly in the plain. The snake in plane stays mainly in the cabin. In Hempstead, Haverford and Hampshire hurricanes hardly ever happen. """.splitlines() for t in tests: t = t.strip() try: match = templ.parseString(t) print match.object print match.location print match.subloc print "Fields are: %(object)s %(location)s %(subloc)s" % match except: print "'" + t + "' is not a match." print Read more about pyparsing at http://pyparsing.wikispaces.com. -- Paul -- http://mail.python.org/mailman/listinfo/python-list