1

我正在尝试使用 RegEx 选择两个美元符号之间的所有字符串。

text = text.replace(/\$.*\$/g, "meow");

我正在尝试将两个美元符号之间的所有文本变成“喵”(占位符)。

编辑: 原始问题发生了变化,因为解决方案过于本地化,但接受的答案是有用的信息。

4

2 回答 2

4

$text$这非常接近您想要的,但是如果您的字符串中有多对,它将失败。如果你让你的.*中继器变得懒惰,它会解决这个问题。例如,

text = text.replace(/\$.*?\$/g, "meow");
于 2012-05-11T18:06:05.040 回答
3

我看到一个问题:如果您有多个“模板”,例如

aasdasdsadsdsa $a$ dasdasdsd $b$ asdasdasdsa

您的正则表达式会将 '$a$ dasdasdsd $b$' 视为两个 dolar 信号之间的文本。您可以使用不太具体的正则表达式,例如

/\$[^$]*\$/​​g

在这个例子中考虑两个字符串

于 2012-05-11T18:12:14.030 回答