Необходимо исключить блоки, которые расположены с регулярным выражением, когда им предшествует # и любое количество пробелов.Вот пример файла
&START A=23 ... more data ...
B=24 &END
# &START A=34 ... more data ...
B=24 &END
&START .... block 3 of data across multiple lines .... &END
&START .... block 4 of data across multiple lines .... &END
Следующее регулярное выражение не исключает закомментированную запись, как я и ожидал -
(?!#\s*)&START(.+?)&END
Желание просмотреть записи и файл для обработки,Код Python для этого (который работает хорошо, кроме строк комментариев, проходящих через него) -
f=open(filename)
data=f.read()
f.close()
pattern=re.compiler(r'(?!#\s*)&START(.+?)&END, re.DOTALL)
get_entries = pattern.findall
for entry in get_entries(data):
# process the entry
print entry
Вероятно, это базовый недосмотр, поскольку я неравнодушен к регулярным выражениям.Большое спасибо всем, кто может сделать предложение.