fork download
  1. import re
  2. key_to_remove = r'sort_by'
  3. rx = r'[?&]{0}=[^&]*$|(?<=[?&]){0}=[^&]*&'.format(key_to_remove)
  4. tests = ['?sort_by=name&role=user','?gender=male&sort_by=name_desc&role=user','?sort_by=name','?age=24&sort_by=fullname&gender=male','?age=24&sort_by=fullname']
  5. for test in tests:
  6. print(test + " => " + re.sub(rx, "", test))
Success #stdin #stdout 0.02s 27728KB
stdin
Standard input is empty
stdout
?sort_by=name&role=user => ?role=user
?gender=male&sort_by=name_desc&role=user => ?gender=male&role=user
?sort_by=name => 
?age=24&sort_by=fullname&gender=male => ?age=24&gender=male
?age=24&sort_by=fullname => ?age=24