Specifically, I have an array of strings called val, and want to replace all instances of "%{n}%"
in the input with val[n]
. More generally, I want the replace value to be a function of the match value. This is in C++, so I went with Boost, but if another common regex library matches my needs better let me know.
I found some .NET (C#, VB.NET) solutions, but I don't know if I can use the same approach here (or, if I can, how to do so).
I know there is this ugly solution: have an expression of the form "(%{0}%)|(%{1}%)..."
and then have a replace pattern like "(1?" + val[0] + ")(2?" + val[1] ... + ")"
.
But I'd like to know if what I'm trying to do can be done more elegantly.
Thanks!