regex - 每千位

标签 regex

<分区>

这是一个测验练习

使用替换在所有数字中放入逗号以分隔千位。即:12345678 → 12,345,678。数字可以在一个句子中,句子中可以有多个数字。

我试过代码

/(\d{3})(\d{3})/g

结果返回

Test 6/19: 100013541615681651 should become 100,013,541,615,681,651. Did you forget the global flag?

试过了

/\d(?=(?:\d{3})+(?!\d))/g

结果返回

Test 14/19: Your regex is incorrectly replacing the number in the following string: Your ticket number is A87654

正则表达式 demo

匹配的字符串

12345678901234567890

12345678

1234567

不匹配的字符串

A87654 

预期结果

123,456789,012345,67890

123,45678

123,4567

A87654 

enter image description here

引用

Matching Whole Lines of Text

最佳答案

前瞻一组重复的 3 位数字,最后是一个数字的负前瞻:

\d(?=(?:\d{3})+(?!\d))

并替换为

$0,

https://regex101.com/r/QAHt6E/5

关于regex - 每千位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54975269/

相关文章:

Java 正则表达式删除新行,但保留空格。

regex - Nginx 使用什么正则表达式引擎?

javascript - 正则表达式:数字匹配是以字符串还是数字形式返回?

java - 为字符串生成 RegExr

java - 替换字符串 url 中的数字

regex - Angular 2 react 形式验证带有两位小数的数字的模式

Javascript 正则表达式 urlify 文本

java - 在不同语言语法之间转换正则表达式的工具?

java - 提取字符之间的字符串

regex - Visual Studio 2013 使用 REGEX 查找和替换无法正确替换