2015-01-13 6 views
1

Я новичок в python.python regex search in complex pattern

Мне тяжело.

Теперь я нахожу несколько строк в файлах.

У меня было регулярное выражение, но я не знаю, как его использовать в python. Он работает в Eclipse.

Ниже приведено регулярное выражение.

("|')\w+\1\s*=\s*?\w*?\.?suppkdid 

это мой источник, который я пробовал.

import fnmatch, re, os 

regex = '' #Q1. How could it be possible? 

for root, dirnames, filenames in os.walk('C:\the_file_directory'): 
    for filename in fnmatch.filter(filenames, '*.odi'): 
     with open(os.path.join(root, filename)) as f: 
      for line in f: 
           if regex.search(line) is not None: #Q2. Is it right? 
            print '==========================' 
            print 'filename : %s' %filename 
            print 'line : %s' %line 
            print '==========================' 

ответ

1
regex=re.compile(r"""("|')\w+\1\s*=\s*?\w*?\.?suppkdid""") 

Вам нужно создать регулярное выражение компилируется шаблон.

На самом деле вы можете напрямую использовать

if re.search(r"""("|')\w+\1\s*=\s*?\w*?\.?suppkdid""",line) is not None: 

использовать также

""" 

вместо " или ' как они оба находятся в вашем шаблоне.

+0

спасибо Я попробую прямо сейчас :) – lv0gun9

+0

Ookay, я попробую новый. – lv0gun9

+0

Мне нужно немного больше, как я могу это регулярное выражение нечувствительно? – lv0gun9