def get_fitness(genes, wanted, unwanted):
pattern = repair_regex(genes)
length = len(pattern)
try:
re.compile(pattern)
except re.error as e:
key = str(e)
key = key[:key.index("at position")]
info = [str(e),
"genes = ['{}']".format("', '".join(genes)),
"regex: " + pattern]
if key not in regexErrorsSeen or len(info[1]) < len(
regexErrorsSeen[key][1]):
regexErrorsSeen[key] = info
return Fitness(0, len(wanted), len(unwanted), length)
numWantedMatched = sum(1 for i in wanted if re.fullmatch(pattern, i))
numUnwantedMatched = sum(1 for i in unwanted if re.fullmatch(pattern, i))
return Fitness(numWantedMatched, len(wanted), numUnwantedMatched,
length)
regexTests.py 文件源码
python
阅读 25
收藏 0
点赞 0
评论 0
评论列表
文章目录