logo

Python のワイルドカード

ワイルドカードは、1 つ以上の文字の代わりに、または 1 つ以上の文字に加えて使用できる記号です。コンピューター プログラム、言語、オペレーティング システムを含む検索エンジンでは、検索条件を要約するためにワイルドカードが使用されます。疑問符 (?) とアスタリスク () は、最も一般的なワイルドカードです。

ワイルドカードの種類

アスタリスク (*)

アスタリスク (*) または文字を使用して、任意の数の文字を指定できます。アスタリスク * は、通常、ルート ワードの終わりで、さまざまな終わりが考えられるルート ワードを検索する必要がある場合に使用されます。

たとえば、例として「ゲーム」という単語を使用すると、「ゲーマー」と「ゲーム」というフレーズがすべての検索結果に表示されます。検索パラメータやその他の単語によっては、これら 2 つ以外の単語が存在する場合があります。

クエスチョンマーク(?)

疑問符ですか、それとも文字ですか?は1を表します。ルートワード内の任意の文字を一緒に使用できます。単語に他のスペルがいくつか含まれている場合、疑問符演算子を使用するとプロセスが高速化されます。

疑問符ワイルドカードの代わりに、ドット or を使用します。文字は単一の文字表現に使用されます。

たとえば「名誉」という言葉を考えてみましょう。この文脈では名誉を省略し、結果を名誉として示します。

Python でのワイルドカード検索

Python でワイルドカード検索を使用するには、re ライブラリをプログラムに組み込む必要があります。 Python で正規表現を操作するために使用されるライブラリは、re ライブラリと呼ばれます。これは、「正規表現」という用語の頭字語です。

検索を行うには、単語のリストを作成し、その後、re ライブラリ関数を使用します。ワイルドカードを使用して、正しい単語との一致を見つけます。

次の Python コードは、ワイルドカード検索を実行します。

 import re str = re.compile('hel.o') a = ['hello', 'welcome', 'to', 'java', 'point'] match_is = [string for string in a if re.match_is(str, string)] print(match_is) 

出力:

 ['hello'] 

実装:

regex (正規表現) モジュールを使用すると、Python でワイルドカードを実装できます。

離散数学の否定

ドット。疑問符は文字 ? に置き換えられました。

 import re # To change the outcomes, add or remove terms from this list. words = ['color', 'colour', 'work', 'working', 'apple', 'master', 'driving'] for word in words: # Instead of the? symbol, use the . symbol if re.search('col.r', word) : print (word) 

出力:

 color 

アスタリスク (*) 記号が使用される方法と同様に、.+ 文字は 1 つ以上の文字と一致するために使用されます。したがって、Python では、ルート「work」で始まるすべての単語を検索するための正規表現コードは次のようになります。

 import re # To change the outcomes, add or remove terms from this list. words = ['car', 'apple', 'work', 'working', 'goat', 'worker'] for word in words: # Instead of using the * symbol, use the.+ symbol. if re.search('work.+', word) : print (word) 

出力:

 working worker