正则表达式 python

下面这种方式 从结果上看 匹配的是关键字, 但是不是 每一次都可以 100% 准确

search_words_dict = {
    "肠炎宁": 0,
    "维生素AD": 0,
    "妇科千金": 0,
    "金银花露": 0,
    "生脉饮": 0,
    "骨通贴膏": 0,
    "三七伤药片": 0,
    "小儿感冒颗粒": 0,
}

keys = search_words_dict.keys()
array_str = ")|(".join(keys)
array_str = ".*(%s).*" % array_str
# array = ".*)|(.*".join(keys)
# array = "(.*%s.*)" % array
strss = "复方妇金银花生山东省脉饮露科千三七生脉饮小儿感冒颗粒伤药片金按较孬那个"
pattern = re.compile(array_str)
print("正则的内容是:%s" % pattern)
if re.search(pattern, strss):
    print(re.search(pattern, strss))
else:
    print("so sorry")

第二种方式 这种方式匹配出来的 就比较多了

search_words_dict = {
    "肠炎宁": 0,
    "维生素AD": 0,
    "妇科千金": 0,
    "金银花露": 0,
    "生脉饮": 0,
    "骨通贴膏": 0,
    "三七伤药片": 0,
    "小儿感冒颗粒": 0,
}

keys = search_words_dict.keys()
# array_str = ")|(".join(keys)
# array_str = ".*(%s).*" % array_str
# pattern = re.compile(array_str)
array = ".*)|(.*".join(keys)
array = "(.*%s.*)" % array
pattern = re.compile(array)
strss = "复方妇金银花生山东省脉饮露科千三七小儿感冒颗粒伤药片金按较孬那个"
print("正则的内容是:%s" % pattern)
if re.search(pattern, strss):
    print(re.search(pattern, strss))
else:
    print("so sorry")

 从结果上看: 匹配的是全部

 

猜你喜欢

转载自www.cnblogs.com/sanmubird/p/9050061.html
今日推荐