大数点的三胞胎

时间:2014-07-11 10:37:51

标签: javascript regex

在Python中,我可以这样做:

import re
s = '123123123123'
re.sub(r"(?<=.)(?=(?:...)+$)", ",", s )
123,123,123,123

如何在JavaScript中使用相同的内容?

1 个答案:

答案 0 :(得分:1)

JavaScript中没有Lookbehinds

问题很有趣,因为JS没有外观。但我们可以这样做:

replaced = yourString.replace(/(?!^)(?=(?:...)+$)/g, ",");

<强>解释

  • (?!^)否定前瞻是替换你的lookbehind的技巧。它断言后面的内容不是字符串的开头。并且在字符串的开头,即零宽度位置,失败(将其视为0 + 0 = 0)
  • 如您所知,您的(?=(?:...)+$匹配的位置后跟三个字符x一次或多次,然后是字符串的结尾,确保在正确的位置插入逗号。