Я хочу получить слова до и после моего матча. Я мог бы использовать string.split(' ')
- но поскольку я уже использую регулярное выражение, разве нет лучшего способа использования только регулярного выражения?
Используя объект соответствия, я могу получить точное местоположение. Однако это местоположение индексируется символом.
import re
myString = "this. is 12my90\nExample string"
pattern = re.compile(r"(\b12(\w+)90\b)",re.IGNORECASE | re.UNICODE)
m = pattern.search(myString)
print("Hit: "+m.group())
print("Indix range: "+str(m.span()))
print("Words around match: "+myString[m.start()-1:m.end()+1]) # should be +/-1 in _words_, not characters
Вывод:
Hit: 12my90 Indix
диапазон: (9, 15)
Слова вокруг совпадения: 12my90
Для получения соответствующего слова и слова перед этим я попытался:
pattern = re.compile(r"(\b(w+)\b)\s(\b12(\w+)90\b)",re.IGNORECASE |
re.UNICODE)
Что не дает совпадений.