Of course, when you run the demo the descriptions in the assertions have been manipulated by the macro-expansion as well as the actual code, but the point is that the macros expand successfully.
The macros here are very simple syntax-hacks, and just a proof-of-concept, but I think it shouldn't be too hard to expand on these further. Since the
replace method can take a function as a second argument that can access the grouped matches in your regexes, it is very possible to create more powerful macros.
Finally, would I consider using this technique for the code that I write at work or for my side projects? No, because the pain of debugging from inside an