使用python正则表达式仅获取9位数字
当我尝试获取除此之外的唯一9位值(4901773349)时,我也通过使用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位数字 第二,试试
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
。有在线编辑器可以帮助你使用正则表达式-我建议你使用它们,它们提供了一个正则表达式符号列表和解释。谢谢第四只鸟。完成了,为什么要抓捕这些人?一定要看清楚,你是对的。我编辑我的答案。注意它只填充了字符串中的最后一个单词。如果要查找中间词,请更改单词边界的$
。这捕获了他希望在提供的输入中捕获的内容。