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]
我写了一个可以识别 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]