擅长:python、mysql、java
<p>如果您只是检查在每个测试字符串中是否找到<code>ENVIRONMENTCODE</code>的成员,那么就不需要regex。只需使用python关键字<code>in</code>,例如</p>
<pre><code>ENVIRONMENTCODE = {
'ICS': '1',
'IGW': '2',
'RTL': '3',
'TDZ': '4'
}
NULLCODE = {
'NULL': '9'
}
def environment_code(test_string, code_dict):
if '-' not in test_string:
return 'no dash'
for code, value in code_dict.items():
if code in test_string:
return value
return NULLCODE['NULL']
to_test = ['AABBBICS-CCCDDD001',
'AABBBIGW-CCCDDD001',
'AABBBRTL-CCCDDD001',
'AABBBTDZ-CCCDDD001']
for test_str in to_test:
print(environment_code(test_str, ENVIRONMENTCODE))
</code></pre>
<p>原始代码的问题在于</p>
<p><code>test_string in code_dict</code></p>
<p>它只检查被测字符串和字典中的键之间的精确匹配。你知道吗</p>