有人能帮我清理python中的嵌套regex(re.sub)吗?我知道一定有更好的方法来做这件事,但我不知道怎么做。
re.sub('.*Chairman.*','Executive Director',re.sub('.*Managing Director.*','Executive Director',row['capacity']))
我有一列字符串(row['capacity']),是作为集合的一部分从数据库中提取的,我想遍历它,在向集合写入时将包含“主席”或“常务董事”的任何行替换为“执行董事”。
下面是完整的代码行:
wrhkset = set (( row['organization'], row['lastname'], row['givenname'], re.sub('.*Chairman.*','Executive Director',re.sub('.*Managing Director.*','Executive Director',row['capacity'])) ) for row in wrhk)
注意:“wrhk”是一组列表。如果需要的话,我可以包含更多的代码,但我真的只是希望有一种更精简的方法来处理嵌套的
re.sub
语句。提前谢谢!
最佳答案
您可以使用|
将两个regex与“or”连接起来:
re.sub(r'''(?x)
.*(
Chairman | Managing[]Director # or
).*
''','Executive Director', row['capacity'])