-1

我正在尝试获取文本块中每行最后一个括号内的数字。但是,我目前的方法只获取最后一个括号的数字。

我试过(数字可能是任何数字):

import re

items = """
PTT KBALTHNAL (07) PETROL STATION (500003985)
ZHONGGUO (035) SHAXIAN 01 (5001039)
AHARATHAN BAIJIAING (0837) SU YOUMING (500086)
"""
ids = re.findall(r"\((\d+)\)$",items)
print(ids)

我得到的输出:

['500086']

我追求的输出:

['500003985','5001039','500086']

如何从每行的最后一个括号中提取数字?

4

1 回答 1

1

让我们通过只包含字符串的最后一个括号来做到这一点:

items = 'PTT KBALTHNAL (07) PETROL STATION (500003985)\nZHONGGUO (035) SHAXIAN 01 (5001039)\nAHARATHAN BAIJIAING (0837) SU YOUMING (500086)'

这里(?!.)排除了换行符之后的每一次出现:

re.findall('\((\d+)\)(?!.)',items)

在这里,我们找到带括号的数字,以换行符结尾。
这给了你:

['500003985', '5001039', '500086']
于 2020-04-17T10:52:19.563 回答