summaryrefslogtreecommitdiff
path: root/examples/parse_results_sum_example.py
blob: 2b778cf8dbe6a09daf174c4621b200317fa4324d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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()