Форум сайта python.su
>>> re.findall(r"\-?\d*", "q-15") ['', '-15', ''] >>> re.findall(r"\-?\d+", "q-15") ['-15'] >>>
Офлайн
vrabey
как написать функцию
>>> import re >>> >>> def f(s): ... match = re.search(r'-?\d+', s) ... return match and match.group() ... >>> for i in "-1", "2d", "-3sf", "4": ... print(f(i)) ... -1 2 -3 4 >>>
Офлайн
doza_andточно. Вот я протормозил, findall же надо было сделать чтоб полностью глянуть. Надо внимательнее быть, на первый взгляд мне показалось, что group(0) должен вывести искомое.
Офлайн
Бесстыдники
>>> s = 'dgg35l-6' >>> pattern = '\-?\d*' >>> re.findall(pattern, s) ['', '', '', '35', '', '-6', ''] >>> pattern = '\-?\d+' >>> re.findall(pattern, s) ['35', '-6']
Офлайн
Да поняли уже все всё, чего еще раз было объяснять ))
Офлайн
Извините, Я пока писал этот пост и форматировал, то уже добавились ответы, а их сперва не было )
Офлайн