Я начинаю изучать регулярные выражения, и у меня возник следующий вопрос. Текст ниже:
00 0-23/2 * * * ubuntu source /home/ubuntu/virtualenv/ .........
10 17 8 1,3,6,12 * ubuntu source /home/ubuntu/virtualenv/ .............
25 6 * * * root test -x /usr/sbin/anacron || ( .....................
47 6 * * 7 root test -x /usr/sbin/anacron || ( ......................
52 6 1 * * root test -x /usr/sbin/anacron ||....................
Я использовал это регулярное выражение с пакетом python re
:
"[\d\*,/-]+\s{1,}[\d\*,/-]+\s{1,}[\d\*,/-]+\s{1,}[\d\*,/-]+\s{1,}[\d\*,/-]+"
Он возвращает мне первые 5 числовых данных каждой строки. Но нехорошо писать [\d\*,/-]+
5 раз ...
Я пробовал что-то вроде (([\d\*,/-]+)\s{1,}){5}
, (?([\d\*,/-]+)\s{1,}){5}
или варианты с нотацией ()
, намереваясь получить интересующую группу захвата и повторить это.
Мне кажется, что я не понял обозначения или есть другой подходящий синтаксис для решения того, что я хочу решить (избегайте повторения [\d\*,/-]+
).
Не могли бы вы помочь? меня?
Спасибо!