Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/347.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正则表达式仅获取9位数字_Python_Regex - Fatal编程技术网

使用python正则表达式仅获取9位数字

使用python正则表达式仅获取9位数字,python,regex,Python,Regex,当我尝试获取除此之外的唯一9位值(4901773349)时,我也通过 ref3=re.findall(r'(\d{9})',fin.read())` 要查找的字符串是116R00003 803000000000000000 4901773349如果您的输入始终是这种格式,您可以这样修改您的regexp: re.findall(r'(\b\d{10})$', fin.read()) 这将匹配行中的最后10位数字,但前提是它前面有一个单词边界(\b)。首先是正则表达式中的10位数字 第二,试试

当我尝试获取除此之外的唯一9位值(4901773349)时,我也通过

ref3=re.findall(r'(\d{9})',fin.read())` 

要查找的字符串是116R00003 803000000000000000 4901773349

如果您的输入始终是这种格式,您可以这样修改您的regexp:

re.findall(r'(\b\d{10})$', fin.read())

这将匹配行中的最后10位数字,但前提是它前面有一个单词边界(\b)。

首先是正则表达式中的10位数字

第二,试试这个,因为在检查这个正则表达式时必须考虑空格


\b\d{10}\b

4901773349是10位数字,使用单词边界
\b\d{10}\b
请参见,这是正则表达式的另一个匹配项。您必须以某种方式对其进行限制。
fin.split()[-1]
还不够吗?您的正则表达式按预期工作。您需要添加“这应该是单词的开头或结尾”-
\b
。有在线编辑器可以帮助你使用正则表达式-我建议你使用它们,它们提供了一个正则表达式符号列表和解释。谢谢第四只鸟。完成了,为什么要抓捕这些人?一定要看清楚,你是对的。我编辑我的答案。注意它只填充了字符串中的最后一个单词。如果要查找中间词,请更改单词边界的
$
。这捕获了他希望在提供的输入中捕获的内容。