我有一个用户可以随时编辑的字符串,以及一个正在对该字符串进行的正则表达式,将其添加到 xml 中,然后保存它,但他们可以将 '$1' 添加到字符串中。我只想保存文本“$1”,但我必须对 $1 所在的同一个字符串执行正则表达式。它每次都用正则表达式中的一个字符替换 $1。
如何查找并替换此字符串中的 $1?
正在发生的事情的例子:
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);
Run Code Online (Sandbox Code Playgroud)
结果
<data><item id="1">i have >00</item><item id="2">i have no money</item></data>
Run Code Online (Sandbox Code Playgroud)