Javascript-替换所有数字哈希标记

Javascript-替换所有数字哈希标记,javascript,regex,formula,hashtag,Javascript,Regex,Formula,Hashtag,我需要用实际数字替换所有数字哈希标记 考虑以下代码: var test = '#1 *#1*#137-#137 *Math.PI'; test = test.replace(/#1/g, '666'); test = test.replace(/#137/g, '444'); 它将返回: 666 *666*66637-66637 *Math.PI #1的第一个regexp也将替换#137,因为它包含#1 目标是: 666 *666*444-444 *Math.PI 以下是JSFIDLE:

我需要用实际数字替换所有数字哈希标记

考虑以下代码:

var test = '#1 *#1*#137-#137 *Math.PI';

test = test.replace(/#1/g, '666');
test = test.replace(/#137/g, '444');
它将返回:

666 *666*66637-66637 *Math.PI
#1的第一个regexp也将替换#137,因为它包含#1

目标是:

666 *666*444-444 *Math.PI
以下是JSFIDLE:


有什么想法吗?

你只需要简单的消极回顾:

var test = '#1 *#1*#137-#137 *Math.PI';

test = test.replace(/#1(?!\d)/g, '666');
test = test.replace(/#137/g, '444');

$('div').text(test);

您只需要一个简单的负面回顾:

var test = '#1 *#1*#137-#137 *Math.PI';

test = test.replace(/#1(?!\d)/g, '666');
test = test.replace(/#137/g, '444');

$('div').text(test);

您只需要一个简单的负面回顾:

var test = '#1 *#1*#137-#137 *Math.PI';

test = test.replace(/#1(?!\d)/g, '666');
test = test.replace(/#137/g, '444');

$('div').text(test);

您只需要一个简单的负面回顾:

var test = '#1 *#1*#137-#137 *Math.PI';

test = test.replace(/#1(?!\d)/g, '666');
test = test.replace(/#137/g, '444');

$('div').text(test);


PleeeAasseee以后不要使用
eval
来执行该代码。@Allendar,您建议如何让用户编写一个公式,然后进行计算?因为您的字符串中有一个标准的JavaScript对象+方法:p
Math.PI
@Allendar,嗯,我知道为什么我不应该这样做,但我问你是否知道我可以走的另一条路。我找不到。如果只有一个变量,我就别无选择,对吗?如果您有这些工具,那么最好分别收集变量,并/或通过AJAX将其发送到服务器端脚本。这样,你就可以把字符串拆分,然后计算公式。在客户端进行拆分也不应该如此困难。这取决于您希望在代码中保护的代码逻辑。请稍后不要使用
eval
来执行该代码。@Allendar,您建议如何让用户编写一个公式,然后进行计算?因为您的字符串中有一个标准的JavaScript对象+方法:P
Math.PI
@Allendar,嗯,我知道为什么我不应该这样做,但我问你是否知道我可以走的另一条路。我找不到。如果只有一个变量,我就别无选择,对吗?如果您有这些工具,那么最好分别收集变量,并/或通过AJAX将其发送到服务器端脚本。这样,你就可以把字符串拆分,然后计算公式。在客户端进行拆分也不应该如此困难。这取决于您希望在代码中保护的代码逻辑。请稍后不要使用
eval
来执行该代码。@Allendar,您建议如何让用户编写一个公式,然后进行计算?因为您的字符串中有一个标准的JavaScript对象+方法:P
Math.PI
@Allendar,嗯,我知道为什么我不应该这样做,但我问你是否知道我可以走的另一条路。我找不到。如果只有一个变量,我就别无选择,对吗?如果您有这些工具,那么最好分别收集变量,并/或通过AJAX将其发送到服务器端脚本。这样,你就可以把字符串拆分,然后计算公式。在客户端进行拆分也不应该如此困难。这取决于您希望在代码中保护的代码逻辑。请稍后不要使用
eval
来执行该代码。@Allendar,您建议如何让用户编写一个公式,然后进行计算?因为您的字符串中有一个标准的JavaScript对象+方法:P
Math.PI
@Allendar,嗯,我知道为什么我不应该这样做,但我问你是否知道我可以走的另一条路。我找不到。如果只有一个变量,我就别无选择,对吗?如果您有这些工具,那么最好分别收集变量,并/或通过AJAX将其发送到服务器端脚本。这样,你就可以把字符串拆分,然后计算公式。在客户端进行拆分也不应该如此困难。这取决于要在代码中保护的代码逻辑。