Skip to content

Instantly share code, notes, and snippets.

@amjith
Last active August 29, 2015 14:23
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save amjith/1b69ff2612d6aaa7e39a to your computer and use it in GitHub Desktop.
Save amjith/1b69ff2612d6aaa7e39a to your computer and use it in GitHub Desktop.
>>> import re # regex module from standard library.
>>> def fuzzyfinder(user_input, collection):
suggestions = []
pattern = '.*'.join(user_input) # Converts 'djm' to 'd.*j.*m'
regex = re.compile(pattern) # Compiles a regex.
for item in collection:
match = regex.search(item) # Checks if the current item matches the regex.
if match:
suggestions.append((match.start(), item))
return [x for _, x in sorted(suggestions)]
>>> print fuzzyfinder('mig', collection)
['main_generator.py', 'migrations.py', 'django_migrations.py', 'django_admin_log.py']
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment