我也把它看成是+$。
我在用
$(this).text( $(this).text().replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1,") );将10000转化为10,000等
我想我能理解其他的一切:
发布于 2012-07-25 12:01:53
我觉得你有点误解了:
注意,regexp实际上是:
(?=(\d{3})+也就是说,你错过了一个开放的帕伦。以下全部内容:
(\d{3})+(?!\d)在(?= ... )中,这是一个零宽度的前瞻性断言--这是一种很好的方式,可以说,内部的东西应该遵循我们迄今为止所匹配的,但是我们实际上并没有使用它。
(?!\d)说,\d (即数字)不应该跟随,所以总的来说:
(\d)找到并捕获一个数字。(?=(\d{3})+(?!\d))断言一个或多个三位数字组应该跟随,但它们不应该有另一个数字跟随它们。我们用"$1,"替换,即捕获的第一个数字和一个逗号。
因此,我们在数字后面加上逗号,数字后面有三个数字的倍数,这是一个很好的方式,我们添加逗号作为千分隔符!
发布于 2012-07-25 12:01:08
?!的意思是负前瞻,它用于匹配不跟在后面的东西,在您的例子中是数字
https://stackoverflow.com/questions/11649138
复制相似问题