I have a string that a user can edit at any time, and a regex that is being conducted on the string, to add it to an xml and then save it but they can add ‘$1’ to the string. I just want the text ‘$1’ to be saved but I have to perform a regular expression on the same string that $1 is in. It replaces the $1 with a character from the regex every time.
How do I find, and replace, the $1 in this string?
Example of what is happening:
string1 = '<item id="1">i have $100</item>'
regexp = new RegExp('<item id="1"([^<]|<[^\/]|<\/[^i]|<\/i[^t]|<\/it[^e]|<\/ite[^m]|<\/item[^>])*<\/item>');
data = '<data><item id="1">i have no money</item><item id="2">i have no money</item></data>'
data = data.replace(regexp, string1);
Results
<data><item id="1">i have >00</item><item id="2">i have no money</item></data>
This should only happen if you have a capturing group in the regex.
If you don’t want your groups to capture, then place
?:inside the start of the group.