 <p>I'm not 100% sure I understand what you're asking, and am rusty with pyparsing, but I think <a href="https://pythonhosted.org/pyparsing/pyparsing.pyparsing.Group-class.html" rel="nofollow"><code>Group</code></a> will help you.</p> <pre><code>from pyparsing import * text = 'abc123xyz456def789' foo = Word(alphas) bar = Word(nums) fun = OneOrMore(Group(foo.setResultsName("foo") + bar.setResultsName("bar"))) results = fun.parseString(text) #Print all foo print [r.foo for r in results] #Print all bar print [r.bar for r in results] </code></pre>