Python 正则表达式:如何用逗号分隔千个数字?
我正在用python编写一个程序,试图捕捉格式为Python 正则表达式:如何用逗号分隔千个数字?,python,regex,Python,Regex,我正在用python编写一个程序,试图捕捉格式为999999999的数字,我现在不关心小数点。因此,我的正则表达式应该捕获以下内容:123456789423999但忽略42,28,112,341234 我尝试了以下正则表达式,它基本上是有效的: \d{1,3}(,\d{3})* 这里的问题是,它将给出以下结果: 42,28,11 - will catch the 42, 28 AND 11 1234 - will catch the 123 AND the 4 如果我添加插入符号和d
999999999
的数字,我现在不关心小数点。因此,我的正则表达式应该捕获以下内容:123456789
<代码>42<代码>3999但忽略42,28,11
<代码>2,34<代码>1234
我尝试了以下正则表达式,它基本上是有效的:
\d{1,3}(,\d{3})*
这里的问题是,它将给出以下结果:
42,28,11 - will catch the 42, 28 AND 11
1234 - will catch the 123 AND the 4
如果我添加插入符号和dollar^\d{1,3}(,\d{3})$
将执行我想要的操作,但前提是数字正好位于行的开头,并且行仅包含数字。那么,如何在文本中的任意位置将格式化数字与逗号匹配?我会用它来“突出显示”文本中的数字。试试这种模式
(?<!,)\b(\d{1,3}(?:,\d{3})*)\b(?!,)
(?
漂亮…我不知道那个网站,我以前用过regexpal.com,你的网站好多了!谢谢!我会把(?!,)
改成(?!,\S)
来处理这样的句子:“有一次,号码是123456,但天空是蓝色的。”