Допустим, у меня есть длинная строка с адресными данными в формате:
string = ... 'Something 3; Place: Something; City: NewYork; Street: Broadway; House: 7; Lat g: 33,105438; Long g: 12,749558; Object: Something;'...
Я хочу извлечь подстроку из этой строки, начиная с Place:
до Long g: 12,749558.
, используя регулярное выражение findall().
Может кто-нибудь мне помочь? Спасибо!
Я хочу получить из своей строки:
Place: Something; City: NewYork; Street: Broadway; House: 7; Lat g: 33,105438; Long g: 12,749558;
Вы можете использовать следующий шаблон регулярного выражения: r'Place:.*?Long g: \d+,\d+;'
.
import re
string = '... Something 3; Place: Something; City: NewYork; Street: Broadway; House: 7; Lat g: 33,105438; Long g: 12,749558; Object: Something;...'
pattern = r'Place:.*?Long g: \d+,\d+;'
result = re.findall(pattern, string) # "Place: Something; City: NewYork; Street: Broadway; House: 7; Lat g: 33,105438; Long g: 12,749558;"
Используйте result[0] для получения строки, а не списка, содержащего строку.
Если вы пытаетесь создать само регулярное выражение, я бы рекомендовал regex101. Вы можете посмотреть регулярное выражение
Place:.*Long g: .*?;
Вы можете использовать regex101, чтобы найти объяснение того, что делает регулярное выражение.