Python 基本講座

正規表現

全334コースを10日間無料で

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
文字列のパターンマッチによく使われる正規表現について説明します。
講師:
06:29

字幕

このレッスンでは 文字列のパターンマッチによく使われる 正規表現について 説明します 文字列の中から 特定の文字列を探すのは 文字列のメソッド 「find」が便利です 例えば このような文字列の中から 「aaa」があるかどうかを 調べるには 「find」メソッドを使うと このように 「3」番目 先頭は「0」ですので 「3」番目から「aaa」がありますと 返してくれます 文字列が もし見つからなければ 「find」は 「-1」を返します このような 特定の文字列を探すのであれば 「find」で十分ですが 特定のパターンを探す時は どうでしょうか 例えば このような文字列や 同じようなパターンとして このように アルファベット1文字と 数字2文字 のようなパターンがある時に これを同時に探せると 便利です このような文字列のパターンマッチに よく使われるのが 正規表現というもので これは Python特有の機能ではなく 一般的なものですが Pythonでも この正規表現を扱えます 正規表現は 英語で regular expressionなので モジュールの名前は 「re」です 正規表現のモジュールを インポートします 正規表現のモジュールの 「re」の中から 「search」というメソッドを使います 1つ目の引数に マッチさせたいパターンの 正規表現を書きます 今は 1文字目が「a」から「z」までの アルファベット 2文字目が 「0」から「9」までの 何らかの数字 3文字目も数字 というように パターンマッチはこのような 「[ ]」の中に 文字の集合を書くことで 表現できます これを 例えば このような ハイフンの真ん中に アルファベット1文字と 数字2文字が入った文字列に マッチさせるという 操作を行います 戻ってくるのは 「match」という特別なデータ型なので これを「m」で受け取っておきます 特定のパターンが見つかると オブジェクトの中に 見つかった場所等が 格納されていますが 戻ってきた「m」の中から 「group」というメソッドを呼び出すと 見つかった文字列が返ってきます 「start」というメソッドは その文字列がどこから始まるか 今は 「-」が先頭に3つあるので 「3」文字目からという事になります 文字列がパターンマッチしない場合には 戻ってくるのは 「None」型です 試してみましょう コードを再利用します パターンにマッチしないように 先頭も数字に変えます こうすると 「m」には何も入っていません 「search」は 先頭から探していって パターンがマッチしたところで 検索をやめてしまいます ですので 例えば このように同じパターンが 別の場所に現れても 1つしか見つけてくれません これを 2つとも 見つけてもらうようにするには 「findall」という別のメソッドを使います 「search」のところを 「findall」に書き換えました 「findall」は 引数の2つ目にとった 文字列の中に パターンが複数個見つかれば 全部探して 切り出してくれます このように 両方共マッチしたパターンが 返ってきてるのがわかります このレッスンでは 文字列のパターンマッチに よく使われる正規表現と それを扱うPythonの モジュールについて紹介しました

Python 基本講座

Pythonはシンプルな文法や豊富な標準ライブラリが特徴なので、誰でも手軽にプログラミングを始められます。このコースはでPythonの説明からプログラミングのための基本的な事柄などについて説明します。Pythonにはライブラリと呼ばれるプログラムを作るときに使える便利な部品もたくさん含まれているので、これらの使い方も具体例を挙げながら紹介します。

5時間04分 (62 ビデオ)
現在、カスタマーレビューはありません…
 
ソフトウェア・トピック
価格: 3,990
講師:
発売日:2015年08月11日
再生時間:5時間04分 (62 ビデオ)

このコースは、「オンデマンド」でご利用可能であり、ダウンロードすることもオンラインで見ることもできます。

ダウンロードすると、オフラインでコースを使用し、豊富なインターフェースをフルに活用できます。複数のデバイスを使用したり、 一度に全コースをダウンロードしたくない場合は、アカントにログインして、ストリーミング・ビデオとしてコースのレッスンを視聴してください。

ビデオトレーニングをお楽しみいただけますように! お問い合わせは、cs-jp@lynda.com宛までご連絡ください。