У меня есть список переменных:Найти несколько регулярных выражений в каждой строке и пропустить результат, если один из регулярных выражений не соответствует
variables = ['VariableA', 'VariableB','VariableC']
, который я собираюсь искать, построчно
ifile = open("temp.txt",'r')
d = {}
match = zeros(len(variables))
for line in ifile:
emptyCells=0
for i in range(len(variables)):
regex = r'('+variables[i]+r')[:|=|\(](-?\d+(?:\.\d+)?)(?:\))?'
pattern_variable = re.compile(regex)
match[i] = re.findall(pattern_variable, line)
if match[j] == []:
emptyCells = emptyCells+1
if emptyCells == 0:
for k, v in match[j]:
d.setdefault(k, []).append(v)
Требование состоит в том, что я буду поддерживать линии, в которых совпадают все регулярные выражения!
Я хочу собрать все результаты для каждой переменной в словаре, где имя переменной является ключом, а значение становится списком всех совпадений.
код предоставляется только то, что я узнал, до сих пор, и не работает отлично еще ...
можно и использовать: кот файл | grep regexp1 | grep regexp2 | ... – Drakosha
Предполагается работать в среде Windows, поэтому в зависимости от утилит unix это не так хорошо, я думаю ... – user265978
Ваш код ссылается на переменную 'j', которая никогда не определяет' j'. Был ли 'j' определен в другом месте или он должен быть' i'? Просьба уточнить. – unutbu