REGEX从字符串末尾开始每隔n次插入一次字符

时间:2015-08-12 13:23:40

标签: javascript regex

我的REGEX不是很流利,但我有这个顺序: /(.{3})/g 据我所知,这将匹配从字符串的开始处开始的每3个字符。 如何从字符串的结尾开始并插入'。'他们之间的(期间性格)?

额外信息:用户将输入数字,我希望它插入'。'每3个数字后。这是我为特定项目建造的定制面具。

由于

1 个答案:

答案 0 :(得分:7)

尝试类似:

numberString.replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1.")

请确保numberString确实是字符串,或将其转换为.toString()

<强>说明: 这非常棘手;它会匹配一组三个数字(\d)之前的每个数字\d{3},或者该组重复多次(\d{3])+(所以每三个数字中的一个),后面跟着另一个数字{{ {1}}

它使用正向前瞻!\d)和否定前瞻?=)以匹配或排除部分字符串而不包括他们进入比赛结果。

然后它将自己的第一个匹配组(数字)替换为(使用反向引用 ?!),后跟一个点。