diff options
Diffstat (limited to 'examples/parse_results_sum_example.py')
-rw-r--r-- | examples/parse_results_sum_example.py | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/examples/parse_results_sum_example.py b/examples/parse_results_sum_example.py new file mode 100644 index 0000000..2b778cf --- /dev/null +++ b/examples/parse_results_sum_example.py @@ -0,0 +1,29 @@ +# +# 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 Regex, Word, alphanums, rest_of_line + +dob_ref = "DOB" + Regex(r"\d{2}-\d{2}-\d{4}")("dob") +id_ref = "ID" + Word(alphanums, exact=12)("id") +info_ref = "-" + rest_of_line("info") + +person_data = dob_ref | id_ref | info_ref + +for test in ( + samplestr1, + samplestr2, + samplestr3, + samplestr4, +): + person = sum(person_data.search_string(test)) + print(person.id) + print(person.dump()) + print() |