2024-04-26 12:36:24 发布
网友
我不知道从哪里开始。我知道我可以对掩码进行位逻辑组合,比如:(mask1 & mask2) | mask3 | (mask4 & (mask5 | mask6))
(mask1 & mask2) | mask3 | (mask4 & (mask5 | mask6))
现在,如果有一个用户输入一个字符串,比如:'(criteria1 & criteria2) | criteria3 | (criteria4 & (criteria5 | criteria6))',但是需要通过一个函数来解释每个条件以确定并返回一个掩码,那么我如何保留括号和逻辑,然后组合掩码呢
'(criteria1 & criteria2) | criteria3 | (criteria4 & (criteria5 | criteria6))'
经过一些工作之后,我能够用正则表达式和eval()实现这一点
eval()
使用regex,我提取了“模板”和“标准”。“模板”看起来像1 & 2 | (3 & 4 & (5 or 6)),关联的“条件”看起来像['criteria1', 'criteria2', ..., 'criteria6']。然后,我可以按照自己的意愿操纵条件,然后将操纵的值替换回模板字符串中。最后,我可以运行eval(template)或任何要执行的最终字符串的名称
1 & 2 | (3 & 4 & (5 or 6))
['criteria1', 'criteria2', ..., 'criteria6']
eval(template)
经过一些工作之后,我能够用正则表达式和
eval()
实现这一点使用regex,我提取了“模板”和“标准”。“模板”看起来像
1 & 2 | (3 & 4 & (5 or 6))
,关联的“条件”看起来像['criteria1', 'criteria2', ..., 'criteria6']
。然后,我可以按照自己的意愿操纵条件,然后将操纵的值替换回模板字符串中。最后,我可以运行eval(template)
或任何要执行的最终字符串的名称相关问题 更多 >
编程相关推荐