Python 正则表达式无法识别文本

Python regex does not recognise text

我写了一个可以识别 string: number 的正则表达式。 我没有收到任何错误,但我只收到 string: 而没有 number

有几个单词变体应该表示字符串和数字应该是 7 到 9 位的整数。

import re


text = 'Center Postfach 2250 Kundennummer: 90289963 CH-4002 Basel Frau Re'

regex = r"(kundennummer|kundennummer.|kundennummer:|numéro d'abonné||Kunden Nr.|No de client:)\s\d{7,9}"


gpnumber_list = re.findall(regex, text, re.IGNORECASE)
print(gpnumber_list) #['Kundennummer:']

预期结果:

Kundennummer: 90289963

您需要为该号码添加另一个捕获组。

regex = r"(kundennummer|kundennummer.|kundennummer:|numéro d'abonné||Kunden Nr.|No de client:)\s(\d{7,9})"

注意 \d{7,9}.

两边的括号

要获取字符串列表,如评论中所指出的,您只需加入匹配的组即可

[" ".join(item) for item in gpnumber_list]