Задать вопрос
@Petroxide

Как захватить элементы по отдельности?

На вход идёт такое чудо:

"сенсор-1 [86] скорость 85 сенсор-2 [44]. Фотоцентры 13 массы [86,13] плотность [46]. Функц. [1]. ретиналь [13] фотоактивность [32] массы-2 [13,32]"

Цель — получить данные из квадратных скобок списком по одиночке.
Моя попытка:
res = re.findall(r'\[(.*?)\]', text)
на выходе:
['86', '44', '86,13', '46', '1', '13', '32', '13,32']

Проблема в скобках типа [86,13] которые выдаются как '86,13'

Попытался:
r'\[\d{2}\]*?'
выдаёт на [86,13] => '[86'
Уже лучше, но как заставить выдать ещё и 13] не понимаю.
  • Вопрос задан
  • 263 просмотра
Подписаться 2 Простой Комментировать
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
(?<=[[,])(\d+)(?=[,\]])
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Steel_Balls
@Steel_Balls
(?<=[\[,])(\d+)(?=[\],])
https://regex101.com/r/xShijl/1
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы