Pythonの正規表現でマッチ結果をTrue/Falseとして判定する方法
Pythonで正規表現のマッチ結果を真偽値(True/False)として扱いたい場合、reモジュールのmatch()メソッドやsearch()メソッドを利用するのが基本です。
マッチ結果の戻り値の仕組み
re.search()やre.match()は、パターンが見つかった場合はMatchオブジェクトを返し、見つからなかった場合はNoneを返します。
- Matchオブジェクトはブール値として常に True と評価される
- Noneはブール値として False と評価される
つまり、戻り値をbool()で変換すれば、そのままTrue/Falseとして取得できます。
実行例
>>> bool(re.search("def", "abcdefgh"))
True
>>> bool(re.search("rest", "pqrstuv"))
False
if文でのシンプルな判定
bool()で明示的に変換しなくても、Matchオブジェクトは真偽値として直接評価できるため、if文でそのまま条件分岐に使えます。
import re
if re.search("def", "abcdefgh"):
print("マッチしました")
else:
print("マッチしませんでした")
このように、正規表現のマッチ有無を真偽値で判定したい場合は、re.search()やre.match()の戻り値をそのまま活用するのが最もシンプルでPythonらしい書き方です。
-
Python 3のtkinterでファイルダイアログから文字列(ファイルパス)を取得する方法
tkinterアプリケーションでファイルシステムを操作したい場合には、filedialogモジュールを利用します。このモジュールは、システム上のファイルを扱うための仕組みを提供しており、さまざまな種類のファイルダイアログを簡単に作成できる組み込み関数を多数備えています。用途に応じて任意のfiledialog関数を選択し、アプリケーションに組み込むことが可能です。中でも最もよく使われているのがfiledialog.askopenfilename()です。この関数を呼び出すと、ユーザーにファイルを開かせるためのダイアログが表示され、選択されたファイルのパスを文字列として受け取ることができます。サン
-
MATLABからPython関数を呼び出す方法を徹底解説
MATLABでは、バージョン2014b以降からPythonライブラリが標準で利用できるようになりました。そのため、2014b以降のバージョンを使用していれば、MATLAB上で直接Pythonコードを実行することが可能です。PythonモジュールをMATLABで使う基本この機能により、MATLABの中でPythonモジュールを活用できます。特別な設定は一切不要で、使用したいPythonライブラリ名の前に「py」というプレフィックスを付けるだけで呼び出せます。ここでは、Pythonのcalendarモジュールを例に、うるう年の判定を行ってみましょう。py.calendar.isleap(2016)