1. ホーム
  2. python

Python リストの中の少なくとも一つの正規表現が文字列にマッチするかどうかをチェックするエレガントな方法

2023-10-16 10:44:21

質問

Pythonで正規表現のリストと文字列を持っています。リスト内の少なくとも1つの正規表現が文字列に一致するかどうかをチェックするエレガントな方法はありますか?エレガントなことによって、私は、単にすべての正規表現をループして文字列とそれらをチェックし、一致が見つかった場合に停止するよりも良いものを意味します。

基本的に、私はこのコードを持っていました。

list = ['something','another','thing','hello']
string = 'hi'
if string in list:
  pass # do something
else:
  pass # do something else

今、私は文字列だけでなく、いくつかの正規表現をリストに入れたいと考えています。 if string in list: .

よろしくお願いします。

どのように解決するのですか?

import re

regexes = [
    "foo.*",
    "bar.*",
    "qu*x"
    ]

# Make a regex that matches if any of our regexes match.
combined = "(" + ")|(".join(regexes) + ")"

if re.match(combined, mystring):
    print "Some regex matched!"