# # parseResultsSumExample.py # # Sample script showing the value in merging ParseResults retrieved by searchString, # using Python's builtin sum() method # samplestr1 = "garbage;DOB 10-10-2010;more garbage\nID PARI12345678;more garbage" samplestr2 = "garbage;ID PARI12345678;more garbage\nDOB 10-10-2010;more garbage" samplestr3 = "garbage;DOB 10-10-2010" samplestr4 = "garbage;ID PARI12345678;more garbage- I am cool" from pyparsing import * dob_ref = "DOB" + Regex(r"\d{2}-\d{2}-\d{4}")("dob") id_ref = "ID" + Word(alphanums,exact=12)("id") info_ref = "-" + restOfLine("info") person_data = dob_ref | id_ref | info_ref for test in (samplestr1,samplestr2,samplestr3,samplestr4,): person = sum(person_data.searchString(test)) print(person.id) print(person.dump()) print()