У меня есть строка с миллионами слов, и я хотел бы иметь регулярное выражение, которое может возвращать пять слов, которые окружают любой знак доллара.Например:
string = 'I have a sentence with $10.00 within it and this sentence is done. '
Я бы хотел, чтобы регулярное выражение вернуло
surrounding = ['I', 'have', 'a', 'sentence', 'with', 'within', 'it', 'and', 'this', 'sentence']
Моя конечная цель состоит в подсчете всех слов, которые окружают упоминание о '$', так чтоПриведенный выше список будет дополнен:
final_return = [('I', 1), ('have', 1), ('a', 1), ('sentence', 2), ('with', 1), ('within', 1), ('it', 1), ('and', 1), ('this', 1)]
Приведенное ниже регулярное выражение, которое я разработал, может вернуть строку, присоединенную к символу валюты, с окружающими ее 5 символами.Есть ли способ отредактировать регулярное выражение вместо пяти окружающих слов?Должен ли я (и если да, то как) использовать токенизатор NLTK для достижения этой цели?
import re
.....\$\s?\d{1,3}(?:[.,]\d{3})*(?:[.,]\d{1,2})?.....