我的REGEX不是很流利,但我有这个顺序:
/(.{3})/g
据我所知,这将匹配从字符串的开始处开始的每3个字符。
如何从字符串的结尾开始并插入'。'他们之间的(期间性格)?
额外信息:用户将输入数字,我希望它插入'。'每3个数字后。这是我为特定项目建造的定制面具。
由于
答案 0 :(得分:7)
尝试类似:
numberString.replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1.")
请确保numberString确实是字符串,或将其转换为.toString()
。
<强>说明:强>
这非常棘手;它会匹配一组三个数字(\d)
之前的每个数字\d{3}
,或者该组重复多次(\d{3])+
(所以每三个数字中的一个),后面跟着另一个数字{{ {1}}
它使用正向前瞻(!\d
)和否定前瞻(?=
)以匹配或排除部分字符串而不包括他们进入比赛结果。
然后它将自己的第一个匹配组(数字)替换为(使用反向引用 ?!
),后跟一个点。