スポンサーリンク

正規表現でファイルを検索(findall())して、マッチした複数文字列を取得

まずはファイルオープン

まずはファイルオープンして、ファイルの中身を変数に代入します。
wiht〜openでファイルオープンするとクローズ忘れがなくなるので便利です。

そして、read()でファイルの中身を変数に格納します。

例えば、in.txtをファイルオープンして、変数strにファイルの中身を格納する場合は、
下記のように書きます。

スポンサーリンク

re.findall()で検索して文字列を取得

あとは、re.findall()で検索して文字列を取得します。
正規表現を扱うためreモジュールをimportします。

あとは、re.findall()で文字列を検索します。
例えば、小文字の英字を検索する場合は下記のように書きます。

マッチした単語をprint出力しています。

サンプルコード

例えば、下記のin.txtがあったとします。

下記がサンプルコードになります。

下記が実行結果になります。

grepを使って同様のことを実現

grepでも同様のことができます。ワンライナーでもできるので、この用途だけに限れば使い勝手が良いかもしれません。

参考:grepの-oオプションで検索にマッチした部分のみ出力

スポンサーリンク