Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 正则表达式:如何用逗号分隔千个数字?_Python_Regex - Fatal编程技术网

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

我正在用python编写一个程序,试图捕捉格式为
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,但天空是蓝色的。”