我对于正则表达式很新,但我试图在我的匹配中使用一个变量。使用带有.match的变量的JavaScript正则表达式
所以我有一个字符串,它是“总计:$ 168” 我试图让数量,168
所以我有这样的:
totalCost = totalCost.match(/[^Total: $]*$/);
当我回显出来我得到168. 这是工作,这是我想要的。
但是现在我想更进一步,想让“Total:$”变量,所以我可以很容易地设置它并使之成为模块化。
所以我做
var stringToSearch = 'Total: $';
,然后做
totalCost = totalCost.match(/[^stringToSearch]*$/);
我做的控制台日志:
console.log(totalCost+" || "+stringToSearch);
,我也得到:
l: $168 || Total: $
为什么当我使这个变量表现出所有奇怪?
您是否知道,'[^ stringToSearch]'表示任何字符,它不是由[位于[否定字符类](http://www.regular-expressions.info/)中的'stringToSearch'组成] charclass.html#否定))。如果你只想在最后使用'\ d + $'或'[0-9] + $'' – 2015-02-06 23:15:05
'来匹配数字,你的问题很难理解。 totalCost = totalCost.match(/ [^ Total:$] * $ /)时,'totalCost'的值是多少?''?这将是很好,有一块评论代码解释你在做什么... – 2015-02-06 23:25:12