使用替代将逗号放在所有数字中以分隔成千上万。即:12345678→12,345,678。该数字可能在一个句子中,而该句子中可能有多个数字。
我尝试了代码
/(\d{3})(\d{3})/g
结果返回
测试6/19:100013541615681651应该变为100,013,541,615,681,651。您忘记了全局标志吗?
试过了
/\d(?=(?:\d{3})+(?!\d))/g
结果返回
测试14/19:您的正则表达式不正确地替换了以下字符串中的数字:您的凭单号为A87654
正则表达式demo
匹配的字符串
12345678901234567890
12345678
1234567
不匹配的字符串
A87654
预期结果
123,456789,012345,67890
123,45678
123,4567
A87654
答案 0 :(得分:4)
答案 1 :(得分:1)
这是一个正则表达式,它也不会匹配与某些字母连接的数字:
(?=\b\d|\G)\d+?(?=(?:\d{3})+\b)
(?=\b\d|\G)
是换行符和数字或前一场比赛的结尾的前瞻。 \d+?
寻找最小位数,然后(?=(?:\d{3})+\b)
断言至少要跟随一组3位数字,然后再换一个单词。正则表达式开头和结尾处的单词中断表示该单词不能与字母数字字符串中的数字匹配。
应将其替换为$0,
,以便在数字中插入逗号。