Вам не нужно проходить через регулярные выражения, просто разбейте строку на основе разделителя и проверьте интересующее вас n-е поле:
found_lines = []
with open("data.txt", 'r') as rf:
for line_file in rf:
line = line_file.split("|")
if line[0] == "C00501197" :
found_lines.append( line )
with open('extracted_data.txt','w') as wf:
for found_line in found_lines :
wf.write("|".join(map(str,found_line)))
Это должно сработать.
Пространства имен JavaScript:
http://www.codeproject.com/KB/scripting/jsnamespaces.aspx
Это в большой степени используется в нескольких платформах/библиотеках JavaScript, таких как YUI: http://developer.yahoo.com/yui/yahoo/
В моем предыдущем проекте у меня был виджет, который был встроен в другие сайты, и предотвратить конфликты имен, я снабдил префиксом все имена, которые будут использоваться в сайтах встраивания с двухбуквенным префиксом (я получил идею от Objective C, где все классы запускаются с префикса как NS...).
Конечно, я также использовал пространства имен (например, var Foo = {панель: функция () {...}}) и "классы" (использующий реализацию класса John Resig), потому что я использую их независимо, если у меня есть виджет или нет, но названия пространств имен, классы и глобальные переменные или функции были снабжены префиксом - например, HMWidget, HMClass, hmDoSomething (), и т.д.
Относительно идентификаторов DOM и классов CSS - сначала, я должен был избавиться от большинства идентификаторов из-за возможности наличия нескольких виджетов от моего сервиса на тот же сайт. Таким образом, единственные идентификаторы, которые оставили, были чем-то как "widget_12345" для сообщения виджетов независимо. Остальная часть элементов была определена классами CSS, и все объявления CSS были сделаны относительно основного контейнера виджета (например, ".my_widget .left_column" вместо просто ".left_column").