askanton

Регулярные выражения в Python. Находим слова, почту, номер карты и многое другое с помощью re

Jun 13th, 2021
663
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import re
  2.  
  3. #re.match()  проверяет начало строки на совпадение с шаблоном
  4.  
  5. #target = re.match(r'match', 'match test string')
  6. #print(target.group())
  7. #target = re.match(r'match', 'not match test string')
  8. #print(target.group())
  9.  
  10. # re.split() разделить строку по шаблону
  11. #target = re.split(r'l', 'Split me')
  12. #print(target)
  13. #target = re.split(r'l', 'Split me please')
  14. #print(target)
  15. #target = re.split(r'l', 'Split me please',maxsplit=1)
  16. #print(target)
  17.  
  18. #re.search() проверит всю строку на совпадение с шаблоном
  19.  
  20. #target = re.search(r'search', 'search test string')
  21. #print(target.group())
  22. #target = re.search(r'search', 'not search test string')
  23. #print(target.group())
  24.  
  25.  
  26. #re.compile() собираем регулярное выражение в отдельный объект
  27. #pattern = re.compile('data')
  28. #target = pattern.search('Is there any data?')
  29. #print(target.group())
  30. #target = pattern.match('Is there any data?')
  31. #print(target.group())
  32.  
  33. #re.findall() проверяет всю строку на совпадение с шаблоном
  34. #target = re.findall(r'findall', 'Please, find all "findall" to test re.findall')
  35. #print(target)
  36.  
  37. #re.sub() поиск шаблона с его заменой
  38. #target = re.sub(r'Stop', 'Start', 'Stop the race')
  39. #print(target)
  40.  
  41. #Примеры:
  42. #.              Один любой символ, кроме новой строки \n.
  43. #?              0 или 1 вхождение шаблона слева
  44. #+              1 и более вхождений шаблона слева
  45. #*              0 и более вхождений шаблона слева
  46. #\w             Любая цифра или буква (\W — все, кроме буквы или цифры)
  47. #\d             Любая цифра [0-9] (\D — все, кроме цифры)
  48. #\s             Любой пробельный символ (\S — любой непробельный символ)
  49. #\b             Граница слова
  50. #[..]           Один из символов в скобках ([^..] — любой символ, кроме тех, что в скобках)
  51. #\              Экранирование специальных символов (\. означает точку или \+ — знак «плюс»)
  52. #^ и $             Начало и конец строки соответственно
  53. #{n,m}          От n до m вхождений ({,m} — от 0 до m)
  54. #a|b            Соответствует a или b
  55. #()             Группирует выражение и возвращает найденный текст
  56. #\t, \n, \r     Символ табуляции, новой строки и возврата каретки соответственно
  57.  
  58.  
  59. #target = re.findall(r'\d', 'One, 1, Two, 2, Three, 3')
  60. #print(target)
  61.  
  62. #target = re.findall(r'\w*', 'One, 1, Two, 2, Three, 3')
  63. #print(target)
  64. #target = re.findall(r'\w+', 'One, 1, Two, 2, Three, 3')
  65. #print(target)
  66.  
  67. #target = re.findall(r'[O]..', 'One, 1, TwO, 2, Three, 3')
  68. #print(target)
  69. #target = re.findall(r'^[O]..', 'One, 1, TwO, 2, Three, 3')
  70. #print(target)
  71.  
  72. #target = re.findall(r'\w+@\w+.\w+', 'Bla bla bla, test@test.com, bla bla bla') # находим почту
  73. #print(target)
  74.  
  75. #target = re.findall(r'\d{2}-\d{2}-\d{4}', 'Repeat it at 22-15-2021') # находим дату
  76. #print(target)
  77.  
  78. #mask = re.compile(r"(?:(?:(?:\+?)3)[-\(\) /]{0,3}8)[-\(\) /]{0,3}0[-\(\) /]{0,3}\d\d[-\(\) /]?(?:[-\(\) /]{0,3}\d){7}|"+ # ищем номер телефона
  79.                   #r"(?:0)[-\(\) /]{0,3}\d\d[-\(\) /]?(?:[-\(\) /]{0,3}\d){7}|"+r"[2-5](?:[-\(\) /]{0,3}\d){6}")
  80. #target = mask.findall('Where is +3 8(066) 3268813')
  81. #print(target)
  82.  
  83. #target = re.findall(r'\d{4}[\s\-]*\d{4}[\s\-]*\d{4}[\s\-]*\d{4}', 'My card is 1234-5678-9101-1121') # находим номер карты
  84. #print(target)
  85.  
  86.  
  87.  
RAW Paste Data