Advertisement
Guest User

Untitled

a guest
Feb 20th, 2020
245
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.71 KB | None | 0 0
  1. #!/usr/bin/env python3
  2.  
  3. import re
  4.  
  5. # ukol za 3 body
  6. def camel_to_snake_case(name):
  7. """Transfer camelCaseNames to snake_case_names.
  8.  
  9. >>> camel_to_snake_case('camelCaseNameAllowed')
  10. 'camel_case_name_allowed'
  11. >>> camel_to_snake_case('longVATNumber')
  12. 'long_vat_number'
  13. """
  14.  
  15. inbetween = re.compile(r'''
  16. (
  17. ... # between a lowercase and
  18. # an uppercase letter
  19. | # or
  20. ... # in front of an uppercase
  21. # followed by a lowercase
  22. )
  23. ''', re.VERBOSE)
  24. return inbetween.sub(r'_', name).lower()
  25.  
  26.  
  27. # ukol za 2 body
  28. def not_both_titles(names_string):
  29. """Returns a list of names not preceded by [Pp]rof./[Dd]oc. and
  30. followed by ', Ph.D.'
  31.  
  32. >>> not_both_titles('doc. Josef Tyl, Rudolf Srp, Ph.D., Pavel Vlk, doc. RNDr. Petr Berka, Ph.D., Jan Hora')
  33. ['doc. Josef Tyl', 'Rudolf Srp, Ph.D.', 'Pavel Vlk', 'Jan Hora']
  34. """
  35.  
  36. # a name that is either preceded by [Pp]rof./[Dd]oc. and followed by Ph.D.
  37. # or other name with potential titles
  38. pat = re.compile(r'''
  39. ... # it is either
  40. | # or
  41. ... # it is
  42. ''', re.X)
  43. return [g1 for g1 in pat.findall(names_string) if g1]
  44.  
  45.  
  46. if __name__ == "__main__":
  47. import doctest
  48. doctest.testmod()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement