fork(1) download
  1. import re
  2. rx = r'^([^_]+)(?:_\1)*(.*)_\d+\.\w+$'
  3. strs = ["server_server_dev1_check_1233.zzz", "server_server_qa1_run_1233.xyz", "server_server_dev2_1233.qqa", "server_dev1_1233.zzz", "data_data_dev9_check_660.log"]
  4. for s in strs:
  5. print(re.sub(rx, r'\1\2', s))
  6.  
Success #stdin #stdout 0.02s 27792KB
stdin
Standard input is empty
stdout
server_dev1_check
server_qa1_run
server_dev2
server_dev1
data_dev9_check