Javascript正则表达式用特定约束替换特定字符串

时间:2012-10-26 20:42:16

标签: javascript regex replace

我有一个像这样的字符串:{{q:6}}

我需要能够制作正则表达式并将其转换为: “问题在这里”

正则表达式需要忽略{{q:,对于0到100之间的任何数字都需要[0-9]。

var final_value = value.replace(/^{{q:([0-9]+)$}}/g, 'question');

在此上下文中使用它^,但这不起作用。有什么想法吗?

提前致谢!

编辑: 最终的工作答案:

value.replace(/\{\{q:([0-9]+)\}\}/g, question);

3 个答案:

答案 0 :(得分:1)

$符号需要在}}

之后
"{{q:6}}".replace(/^{{q:([0-9]+)}}$/g, 'question');// <= yields "question"

答案 1 :(得分:1)

String final_value = "{{q:6}}\n{{q:39}}".replaceAll("\\{\\{q:([0-9]+)\\}\\}", "Question: $1");
System.out.println(final_value);

这是java,一般答案是:"/\{\{q:([0-9]+)\}\}/g"

答案 2 :(得分:0)

您需要转发{}

此外,如果您想限制从0到100(含),那么您需要更改:

[0-9]+

将接受任何数字字符串,如:

[1]?\d?\d

哪个接受1或不接受,一个数字(或不接受),然后是一个数字。

编辑:还有@ ruakh关于$展示位置的评论。