在特定字符串之后以文本形式返回数字

时间:2018-10-25 10:11:55

标签: python regex

我必须检查几个文本文件,并且必须从这些文本文件中的单词“ INDEX KEY”后面返回10位数字。 (数字始终包含10位数字)

部分文字示例在这里:

“这是中央索引键之前的文本:0000341527这是之后的文本”

->我希望我的代码返回:00003415227

该文本另存为变量“ doc”,并且包含许多文本,其中“ INDEX KEY”可能会出现多次。我只想抓住第一次出现“ INDEX KEY”之后的数字。

我知道它可以使用正则表达式,并且可以在代码的其他部分正常使用它们,但是以某种方式我没有得到它。在前面的讨论中提到的答案也没有解决。

如果有人知道我该怎么做,我将非常高兴!

1 个答案:

答案 0 :(得分:3)

re.search与模式r"INDEX KEY: (\d*)"一起使用

例如:

import re

s = "THIS IS THE TEXT BEFORE CENTRAL INDEX KEY: 0000341527 THIS IS THE TEXT AFTER. THIS IS THE TEXT BEFORE CENTRAL INDEX KEY: 0000341527 THIS IS THE TEXT AFTER"
m = re.search(r"INDEX KEY: (\d*)", s)
if m:
    print(m.group(1))

输出:

0000341527