summaryrefslogtreecommitdiff
path: root/examples/parse_results_sum_example.py
diff options
context:
space:
mode:
Diffstat (limited to 'examples/parse_results_sum_example.py')
-rw-r--r--examples/parse_results_sum_example.py29
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()