[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: LPeg: inserting previous captures by substitution
- From: Александр Машин <alex.mashin@...>
- Date: Sat, 25 Jul 2015 01:45:19 +0700
Dear All,
I wrote a simple LPeg grammar in re.lua syntax that matches a signless
integer with digits grouped by spaces (there are several ways to do it
in different cultures):
int <- digits spaces int / digits
digits <- [0-9]+
spaces <- %s+
It works, matching figures like "6 000 000".
I can also remove the spaces with substitution capture:
int <- {~ digits spaces -> '' int / digits ~}
digits <- [0-9]+
spaces <- %s+
It will match "6 000 000" and return "6000000".
But what if I want to return "6000000|6 000 000"? Can I memorise the
original capture, before removing the spaces and insert it by
substitution after processed string? I mean, can I do it with pure re
syntax, without function captures?
Thanks in advance,
Alexander Mashin