次のコードは明らかに冗長ですが、私の経験では、このパターンをかなり頻繁に使用しています。Pythonでこれを行うためのより良い方法はありますか?
if re.search("at (\d{1,2}):\d{2}", p):
a=re.search("at (\d{1,2}):\d{2}",p).group(1)
次のコードは明らかに冗長ですが、私の経験では、このパターンをかなり頻繁に使用しています。Pythonでこれを行うためのより良い方法はありますか?
if re.search("at (\d{1,2}):\d{2}", p):
a=re.search("at (\d{1,2}):\d{2}",p).group(1)
はい、冗長です。search()
変数を 2 回呼び出すのではなく、結果を変数に代入する必要があります。
m = re.search("at (\d{1,2}):\d{2}", p)
if m:
a = m.group(1)
または多分
a = m.group(1) if m else some_default_value
re.compile()
また、このパターンを頻繁に使用する場合は、正規表現をプリコンパイルするために使用することを検討してください。
最初の検索を保存し、ブール値の意味を確認します。
res = re.search (...)
if res:
a = res.group (1)