注意:我不是在尝试用正则表达式解析 HTML
我正在尝试替换字符串中包含在 $ 符号($for example$)中的任何内容。我设法想出了str.replace(/\$([^\$]*)\$/g), "hello $1!")
,但是我在确保在将此类字符串包装在 HTML 标记中时不替换它们时遇到了问题。
示例字符串:$someone$, <a>$welcome$</a>, and $another$
表达:/[^>]\$([^\$]*)\$[^<]/g
预期输出:hello someone!, <a>$welcome</a>, and hello another!
实际输出:$someonhello , !elcomhello , and !nother$
测试代码:alert("$someone$, <a>$welcome$</a>, and $another$".replace(/[^>]\$([^\$]*)\$[^<]/g, "hello $1!"));
小提琴:http: //jsfiddle.net/WMWHZ/
谢谢!