Вывести в консоль отдельно цифры, отдельно буквы, отдельно знаки с помощью метода re.findall

Рейтинг: 0Ответов: 1Опубликовано: 30.01.2023

необходимо вывести со строки в консоль отдельно цифры, отдельно буквы, отдельно знаки У меня такая проблема, буквы не выводятся отдельно, они слипаются, кто поможет - буду признателен :)

import re

x = 'J:_)Yg;8SpL.Rt1rw~E^`0cHblnG}v|$a,3O#IXKQ\W2+N(eP'

chars = re.findall(r'[a-zA-Z]+', x)  # ['k', 'e', 'g', 'f']
nums = re.findall(r'\d+', x)         # ['3', '10', '88', '13']
znak = re.findall(r'[$ : - ) = - + * № # , | {} ~ ` . ;]+', x)

print(chars)
print(nums)
print(znak)

Вывод: ['J', 'Yg', 'SpL', 'Rt', 'rw', 'E', 'cHblnG', 'v', 'a', 'O', 'IXKQ', 'W', 'N', 'eP'] ['8', '1', '0', '3', '2'] [':', ')', ';', '.', '~', '`', '}', '|', '$', ',', '#', '+']

Ответы

▲ 0
import re

x = 'J:_)Yg;8SpL.Rt1rw~E^`0cHblnG}v|$a,3O#IXKQ\W2+N(eP'

chars = re.findall(r'[a-zA-Z]', x)
nums = re.findall(r'\d', x)
znak = re.findall(r'[$:)=+*№#,|{}~`.;-]', x)
# тире, если не обозначает диапазон ^^^ должно быть последним символом шаблона

print(chars)
print(nums)
print(znak)

['J', 'Y', 'g', 'S', 'p', 'L', 'R', 't', 'r', 'w', 'E', 'c', 'H', 'b', 'l', 'n', 'G', 'v', 'a', 'O', 'I', 'X', 'K', 'Q', 'W', 'N', 'e', 'P']
['8', '1', '0', '3', '2']
[':', ')', ';', '.', '~', '`', '}', '|', '$', ',', '#', '+']