/(\ d)(?=(\ d {3})+(?!\ d))/ g如何工作?

时间:2018-05-23 01:56:53

标签: javascript regex

https://script.google.com/macros/d/<Apps Script ID>/usercallback

这个(/(\ d)(?=(\ d {3})+(?!\ d))/ g)如何处理这个函数?它告诉一个数字至少是4位数?

2 个答案:

答案 0 :(得分:1)

(\d)(?=(\d{3})+(?!\d)) 将转换为数字字符串中最后3位数字末尾的每三位数字以及该数字字符串的最后3位数字。我不确定它是如何在代码中使用的,但那是正则表达式。

答案 1 :(得分:0)

在代码中使用时,逗号“,”会接在一个三位数的数字串后。请检查代码:

var n = 1020304050;
document.getElementById('number').innerHTML = "This is a number: " +n;

var output = n.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
document.getElementById('result').innerHTML = "After using the regex the result is:  "+output;
console.log(output);

/* 
This is a number: 1020304050
After using the regex the result is:  1,020,304,050
*/
<html>

<body>
  <h3 id="number"></h3>
  <h3 id="result"></h3>

</body>

</html>