Я пытаюсь найти значения между 40,00 и 99,00 в списке, но у меня возникают проблемы с включением обоих чисел в коде.

 r'([4-9][0-9]|\d{3,})\.'

Дает мне числа больше 40, но я не могу понять, как добавить часть меньше 99,00.

Спасибо!

1
lrk889 20 Апр 2020 в 23:34

2 ответа

Вы могли бы использовать

\b[4-8]\d\.\d+|90\.\d+\b

См. демонстрационную версию на regex101.com , как указано в В разделе комментариев, возможно, вам лучше использовать понимание списка с range(...).

0
Jan 20 Апр 2020 в 22:04

Следующие регулярные выражения работают для вашей задачи:

^[4-9][0-9]+(\.[0-9]{1,2})?$

Регулярные выражения часто трудно читать. Вероятно, лучше написать это:

for item in items:
    if item >= 40.00 and item <= 99.00:
        # logic
-1
Carlos Menezes 20 Апр 2020 в 21:04