代码:
"""
判断输入的字符串中是否有关键字(做全字匹配,例如关键字为scanf则不匹配sscanf)
如果匹配到了,返回1,没有返回0
"""
def isIncludeKeyWord(detailinfo,keyword_list):
for tmp_keyword in keyword_list:
#正则表达查询性能较差,先用find函数过滤,因为大部分字符串都不需要走正则查询
if -1 != detailinfo.find(tmp_keyword):
#匹配^tmp_keyword$或^tmp_keyword(非字母数字下划线)(任意字符)
#或(任意字符)(非字母数字下划线)tmp_keyword$或(任意字符)(非字母数字下划线)tmp_keyword(非字母数字下划线)(任意字符)
pattern_str='(^'+tmp_keyword+'$)|(^'+tmp_keyword+'(\W+).*)|(.*(\W+)'+tmp_keyword+'$)|(.*(\W+)'+tmp_keyword+'(\W+).*)'
m = re.match(r''+pattern_str+'', detailinfo)
if m:
return 1
return 0
测试: