题解 | #分隔符#
分隔符
https://www.nowcoder.com/practice/e5696992841841a8ab9d026324e4bb77
<html> <head> <meta charset=utf-8> </head> <body> <script type="text/javascript"> function _comma(number) { let str = number.toString(); return str.replace(/(\d)(?=(?:\d{3})+$)/g, '$1,'); } </script> </body> </html>
利用正则表达式(被两个反斜杠包裹的就是正则表达式 regular expression,RegExp)进行解题:
1.\d表示找到的一个数字,外面包裹()用于分组,被$1记忆
2.(?= ***)是一个先行断言,x(?= y)会匹配后面跟着y的x
3.(?:***),这里的括号是为了便于阅读,为了不被$记忆,在表达式前使用了?:
4.\d{3}表示三个数字
5.+匹配前面一个表达式 1 次或者多次
6.$匹配字符串的结束
7.外面的g表示进行全局搜索匹配