两个美元符号之间的文本JavaScript正则表达式

时间:2012-05-11 18:01:53

标签: javascript regex

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

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

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

修改 原始问题已更改,因为解决方案过于本地化,但接受的答案是有用的信息。

2 个答案:

答案 0 :(得分:4)

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

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

答案 1 :(得分:3)

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

aasdasdsadsdsa $ a $ dasdasdsd $ b $ asdasdasdsa

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

/ \ $ [^ $] * \ $ /克

在此示例中考虑两个字符串