-1
我想写一个程序,它会过滤掉跨环境访问,例如。 prod不应该访问Dev/QA对象,反之亦然。什么是使用正则表达式分隔数据的最佳方式
到目前为止,我正在使用IN条件来检查和筛选出这些数据,我如何使用正则表达式或其他有效的方式来实现这一点?请建议
示例代码:
lst_role_objects = []
for row in exct_role_obj:
if (('_PROD' in row[0] or 'PROD_' in row[0] or '_PROD_' in row[0]) and ('PREPROD' not in row[0])):
if ('_DEV' in (row[1].split('.')[0]) or 'DEV_' in (row[1].split('.')[0]) or '_DEV_' in (row[1].split('.')[0]) or '_QA' in (row[1].split('.')[0]) or 'QA_' in (row[1].split('.')[0]) or '_QA_' in (row[1].split('.')[0]) or '_PREPROD' in (row[1].split('.')[0]) or 'PREPROD_' in (row[1].split('.')[0]) or '_PREPROD_' in (row[1].split('.')[0])):
print(row[0])
print(row[1].split('.')[0])
lst_role_objects.append((row[0],row[1]))
for row in exct_role_obj:
if ('_PREPROD' in row[0] or 'PREPROD_' in row[0] or '_PREPROD_' in row[0]) or 'QA' in row[0]:
if (('PREPROD' not in (row[1].split('.')[0])) and ('QA' not in (row[1].split('.')[0]))):
print(row[0])
print(row[1].split('.')[0])
lst_role_objects.append((row[0],row[1]))
for row in exct_role_obj:
if ('_DEV' in row[0] or 'DEV_' in row[0] or '_DEV_' in row[0] or 'DEV' in row[0]) :
if ('DEV' not in (row[1].split('.')[0])):
print(row[0])
print(row[1].split('.')[0])
lst_role_objects.append((row[0],row[1]))
Sample data :
ROLE , OBJECTS
PROD_A_TEST , DA_DEV.PROD.SLS
PROD_A_TEST , DA_PROD.PROD.SLS
PROD_A_TEST , DA_PREPROD.PREPROD.SLS
PREPROD_A_TEST , DA_PREPROD.PREPROD.SLS
TEST_PREPROD_A , DA_PREPROD.PREPROD.SLS
TEST_PREPROD_A , DA_PROD.PREPROD.SLS