#python #regex
#python #регулярное выражение
Вопрос:
Я пытаюсь сопоставить несколько вхождений шаблона в строке и игнорировать промежуточное содержимое.
Например, в строке ниже:
"35264208011:5:1044512:0.1078, 1044512:6:3526415811:0.0444, 699905011:6:3526420011:0.0544”
Я хочу получить все вхождения 1044512
и их сопровождаемую скорость (т. Е. Значение с десятичным числом)
Мой желаемый результат будет: "1044512:0.1078, 1044512:0.0444"
Я пробовал ‘1044512:(.*?)0000’ но, похоже, упускается что-то существенное. Любая помощь приветствуется.
Комментарии:
1. Вы решили проблему? Вам нужна помощь в этом?
Ответ №1:
попробуйте это регулярное выражение :
(1044512)(?:.*?)(0.d*)
в вашем примере это даст вам это совпадение :
match 1 : 1044512:0.1078
group 1 : 1044512
group 2 : 0.1078
match 2 : 1044512:6:3526415811:0.0444
group 1 : 1044512
group 2 : 0.0444
тогда все, что вам нужно сделать, это объединить группу 1 с группой 2 следующим образом :
$1:$2
это демонстрация