uptime
Unixコマンドの出力を解析したいと思います。これは2つの異なるサンプルです。
14:25 up 1 day, 1:24, 2 users, load averages: 0,56 0,48 0,47
14:25 up 1:24, 2 users, load averages: 0,56 0,48 0,47
(私が使用している言語はPythonです)
したがって、上記の2つのサンプルが変数s1
とに保存されているとしs2
ます。
これは私が書いたコードです:
>>> RE = r'''
((\d) \s day)? # this should match "n day" if it's there
.*? # this should match everything until the next regex
\s(\d{1,2}):(\d{1,2}) # this should match a space followed by "hh:mm"
'''
>>> print re.match(RE, s1, re.VERBOSE).groups()
(None, None, '1', '24')
>>> print re.match(RE, s2, re.VERBOSE).groups()
(None, None, '1', '24')
正規表現の2番目の部分、つまり稼働時間の時間分を取得する部分は、完全に機能します。しかし、なぜタプルの最初の部分が常にあるのNone
ですか?私は何が欠けていますか?それは貪欲な問題と非貪欲な問題ですか?