Python:正则表达式元素与List匹配

时间:2016-08-08 17:26:33

标签: python regex

我有一个列表,我想将列表的每个元素与正则表达式列表进行比较,然后只打印regex.Regex找不到的内容来自配置文件:

exclude_reg_list= qa*,bar.*,qu*x

代码:

import re
read_config1 = open("config.ini", "r")
for line1 in read_config1:
    if re.match("exclude_reg_list", line1):
         exc_reg_list = re.split("= |,", line1)
         l = exc_reg_list.pop(0)
         for item in exc_reg_list:
             print item

我可以逐个打印正则表达式,但是如何将正则表达式与列表进行比较。

1 个答案:

答案 0 :(得分:1)

我没有使用重新模块,而是使用 fnmatch 模块,因为它看起来像是通配符模式匹配。

请查看此链接,了解有关fnmatch

的更多信息

扩展所需输出的代码:

import fnmatch
exc_reg_list = []

#List of words for checking
check_word_list = ["qart","bar.txt","quit","quest","qudx"]

read_config1 = open("config.ini", "r")
for line1 in read_config1:
    if re.match("exclude_reg_list", line1):
        exc_reg_list = re.split("= |,", line1)

        #exclude_reg_list= qa*,bar.*,qu*x
        for word in check_word_list:
            found = 0
            for regex in exc_reg_list:
               if fnmatch.fnmatch(word,regex):
                    found = 1
            if found == 0:
                   print word 

输出:

C:\Users>python main.py
quit
quest

如果有帮助,请告诉我。