/ / Списък, съдържащ низове и традиционни регулярни изрази - Python, regex, списък

Списък съдържащ низове и традиционни регулярни изрази - Python, regex, списък

Пиша скрипт, за да проверя съдържанието нафайлове в директория. Това, което имам досега, е списък с различни струни и също така бих искал да включа традиционния регулярен израз в търсенето. Ето какво имам досега:

regex = [ "STRING1", "STRING2", "STRING3", (?:<my regex here>)]
pattern = re.compile(regex)

Получавам различни грешки и съм опитал неприятностиснимайки го малко, пренасочвайки се към "regex", използвайки .join () в компилационната функция, очевидно правя нещо нередно. Кодът се изпълнява правилно, но не намира съвпадения, когато трябва, така очевидно моят регекс се компилира неправилно. И така, какъв е правилният начин да направите списък с регексите, които искам да използвам, и след това да повторя този списък в моето търсене?

Отговори:

2 за отговор № 1

Опитвате се да направите нещо подобно ?:

import re

# Pre-compile the patterns
regexes = [ re.compile(p) for p in [ "this",
"that",
]
]
text = "Does this text match the pattern?"

for regex in regexes:
print "Looking for "%s" in "%s" ->" % (regex.pattern, text),

if regex.search(text):
print "found a match!"
else:
print "no match"

Тя е взета от PyMOTW.