мой первый взгляд (или lookbehind?) упражнение

92
8

8:9 DAR4:3], 23.98 fps
8:9 DAR4:3], 29.97 fps
8:9 DAR4:3], 25 fps

У меня есть 3 возможных строки, и я ищу выражение, которое будет извлекать числа, которые происходят между первой запятой в этой строке и "fps".

либо 23,98, 29,97, 25

Как лучше напасть на это? Оглядываясь на все цифры и точки [\ d.], Падайте до того, как "fps" выглядит наиболее логичным способом, но я никогда не делал этого.

Например, пожалуйста?

У меня это уже есть,

\d{2}\.\d{2}|25

но я боюсь, что "25" могут поднять ложные срабатывания откуда-то позже в тексте.

спросил(а) 2013-09-12T20:35:00+04:00 6 лет, 8 месяцев назад
1
Решение
54

(?<=, )[0-9]+(\.[0-9]+)?(?= fps)

должно работать нормально и будет соответствовать только вашим номерам.

match result

Демо-версия Regex101

ответил(а) 2013-09-12T20:43:00+04:00 6 лет, 8 месяцев назад
67

,\s*(\d+\.?\d*)\s*fps$

Regular expression visualization

Редактировать в прямом эфире на Debuggex

Может, это сработает?

    , указывает запятую

    \s* указывает ноль или больше пробелов.

    (\d+\.?\d*) фиксирует десятичные значения в группе захвата

    \s* указывает ноль или больше пробелов.

    fps$ проверяет, находится ли fps в конце строки.

ответил(а) 2013-09-12T20:39:00+04:00 6 лет, 8 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема