-1

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

我需要能够制作一个正则表达式来接受它并将其变成这样:“这里的问题”

Regex 需要忽略{{q:,并且对于从 0 到 100 的任何数字都需要为 [0-9]。

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

在这种情况下使用它^,但这不起作用。有什么想法吗?

提前致谢!

编辑:最终工作答案:

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

3 回答 3

1

$标志需要在之后}}

"{{q:6}}".replace(/^{{q:([0-9]+)}}$/g, 'question');// <= yields "question"
于 2012-10-26T20:46:03.770 回答
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"

于 2012-10-26T20:47:32.663 回答
0

你需要逃避你的{and }

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

[0-9]+

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

[1]?\d?\d

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

编辑:还有@ruakh 对您的$应用位置的评论。

于 2012-10-26T20:46:02.680 回答