我正在使用一个函数来读取特定文件,在这种情况下是options
并为我读取的每一行做一些正则表达式。我正在阅读的文件是:
EXE_INC = \
-I$(LIB_SRC)/me/bMesh/lnInclude \
-I$(LIB_SRC)/mTools/lnInclude \
-I$(LIB_SRC)/dynamicM/lnInclude
我的代码是
def libinclude():
with open('options', 'r') as options:
result = []
for lines in options:
if 'LIB_SRC' in lines and not 'mTools' in lines:
lib_src_path = re.search(r'\s*-I\$\(LIB_SRC\)(?P<lpath>\/.*)', lines.strip())
lib_path = lib_src_path.group(1).split()
result.append(lib_path[0])
print result
return (result)
现在您可以看到,我查找了mTools
的行并使用not 'mTools' in lines
进行过滤。但是,当我有很多这样的字符串时,如何过滤?比方说,我想过滤包含mTools
和dynamicM
的行。是否可以将这些字符串放在列表中,然后在lines
语句中对if
访问该列表的元素?