Pythonでは、ワイルドカードマッチングを行うためのいくつかの方法があります。ここでは、その中でも主要な2つの方法について説明します。
1. fnmatchモジュールを使用する方法
fnmatch
モジュールは、Unixシェルスタイルのワイルドカードパターンをサポートしています。以下に例を示します。
import fnmatch
words = ["testing", "wildcard", "in", "python"]
filtered = fnmatch.filter(words, 'p?thon') # filtered = ['python']
filtered = fnmatch.filter(words, 'w*') # filtered = ['wildcard']
この例では、fnmatch.filter()
関数を使用して、リストwords
から特定のパターンに一致する要素をフィルタリングしています。
2. 正規表現を使用する方法
Pythonのre
モジュールを使用すると、より複雑なパターンマッチングを行うことができます。以下に例を示します。
import re
regex = re.compile('th.s')
words = ['this', 'is', 'just', 'a', 'test']
matches = [word for word in words if re.match(regex, word)]
この例では、正規表現th.s
を作成し、それを使用してリストwords
から一致する要素をフィルタリングしています。
これらの方法を適切に使用することで、Pythonでワイルドカードマッチングを効果的に行うことができます。