SlideShare a Scribd company logo
正規表現とは何か(「情報検索演習」事前教材)
正規表現とは何か
「情報検索演習」事前教材
アカデミック・リンク・センター
常川真央, 池田光雪
1
正規表現とは何か(「情報検索演習」事前教材)
はじめに
• コンピューター
– 繰り返しの動作を高速で行
うことが得意
• コンピューターを仕事に
生かす方法
– 複雑な仕事を単純な仕事の
繰り返しに変換する考え方
を身に着けること
• 最も分かりやすい例:
文書の検索
2
正規表現とは何か(「情報検索演習」事前教材)
日常の文書検索
• 非常に長い文章からある
文字列を検索したい
• 非常に長い文書のある単語
をまとめて変換したい
• Wordの「検索」や「置換」
機能ではキーワードを入力
することで一部達成可能
• しかし、複雑な条件では実
現できない
3
正規表現とは何か(「情報検索演習」事前教材)
複雑な条件の例
• 例1:西暦年をまとめて検索 (2018, 2015, …など)
• 例2:郵便番号をまとめて検索 (263-8522、2638522など )
• 例3:名前に「cat」を含む動物の名前をまとめて
(cat, wildcat, … など)
• 表面上は異なるキーワードだが、そこに共通のルールがあれ
ば自動化できる
• ではどうやってその「ルール」を機械に教えるか?
4
正規表現とは何か(「情報検索演習」事前教材) 5
正規表現 ( Regular Expression )
文字列の検索や置換のために、
複数の文字列を1つの文字列で表現する記法
正規表現とは何か(「情報検索演習」事前教材)
正規表現の定義
正規表現とは、多種多様な文字集合を表現する
ことができる文脈独立の文法によって実装され
た文字集合である。
6
Regular expressions are a context-independent syntax that can
represent a wide variety of character sets and character set
orderings, where these character sets are interpreted according
to the current locale.
Regular Expressions - The Single UNIX ® Specification, Version
2
正規表現とは何か(「情報検索演習」事前教材)
正規表現のイメージ
7
2018年
2014年
1999年
…
共通のルールを持つ
文字列の集合
正規表現式に変換
共通のルール:
4桁の数字+「年」
[0-9]{4}年
正規表現式:
沢山の文字列を
1つの式で表現する
正規表現とは何か(「情報検索演習」事前教材)
正規表現の用途
8
ある文書
2018年
平成30年
1999年
…
正規表現式に対応する文字列
を検索する
(パターンマッチという)
[0-9]{4}年正規表現に
よる検索
正規表現とは何か(「情報検索演習」事前教材)
私は人です
私は鳥です
私は猫です
正規表現の例
私は人です
私は鳥です
私は猫です
9
私は人です
正規表現とは何か(「情報検索演習」事前教材)
私は人です
私は鳥です
私は猫です
私は人間です
正規表現の例
私は人です
私は鳥です
私は猫です
私は人間です
10
私は.です
「.」(ピリオド)は
任意の文字1文字を表す記号を表す
(このような記号を
正規表現演算子と呼ぶ)
正規表現とは何か(「情報検索演習」事前教材)
2018年
1995年
平成30年
正規表現の例
2018年
1995年
平成30年
11
2018年
正規表現とは何か(「情報検索演習」事前教材)
2018年
1995年
平成30年
正規表現の例
2018年
1995年
平成30年
12
[0-9]{4}年
[0-9] :0から9までの数字1文字
{4} :手前の文字を4回繰り返す
[0-9]{4} :0-9までの数字4桁
演算子と文字の組み合わせによって表現
正規表現とは何か(「情報検索演習」事前教材)
正規表現は何に役立つか
13
正規表現とは何か(「情報検索演習」事前教材)
(1) 仕事の効率化に役立つ
• 正規表現を使いこなすことができると、大量
の文書を効率的に処理することが可能
• 数百件、数千件の文書を相手にしなくてはな
らない状況でも、正規表現を使いこなせば一
瞬で済んでしまうかもしれない
14
正規表現とは何か(「情報検索演習」事前教材)
(2) パターンを見出すセンスが身につく
• 複雑な仕事の中に単純なパターンを発見し、
単純な仕事へ変換する能力
– 大量の情報を扱う現代の日常ではとても重要
• 正規表現で磨いたセンス
– やがてより抽象的な仕事で応用することが可能
15
正規表現とは何か(「情報検索演習」事前教材)
授業の予告
16
正規表現とは何か(「情報検索演習」事前教材)
授業で行うこと
• 正規表現の様々な書き方を覚えていきながら
演習問題を解いていく
• 演習問題
– ソフトウェアを使用して実際に正規表現を実行
しながら正解を探っていく
– 試行錯誤しながらでOK
17

More Related Content

What's hot

Walker david -_los_angeles_pue
Walker david -_los_angeles_pueWalker david -_los_angeles_pue
Walker david -_los_angeles_pue
Pablo Deluca
 
Rによる特徴抽出 第48回R勉強会@東京(#TokyoR)
Rによる特徴抽出 第48回R勉強会@東京(#TokyoR)Rによる特徴抽出 第48回R勉強会@東京(#TokyoR)
Rによる特徴抽出 第48回R勉強会@東京(#TokyoR)Keiku322
 
Suite recife
Suite recifeSuite recife
Suite recife
Partitura de Banda
 
40 Best Christmas Quotes of All Time
40 Best Christmas Quotes of All Time40 Best Christmas Quotes of All Time
40 Best Christmas Quotes of All Time
Bibilium
 
abc032
abc032abc032
abc032
AtCoder Inc.
 
20200314-L-HACCP workshorp (basic)
20200314-L-HACCP workshorp (basic)20200314-L-HACCP workshorp (basic)
20200314-L-HACCP workshorp (basic)
I-Yuan Chiang
 
信心的旅途(華)
信心的旅途(華)信心的旅途(華)
信心的旅途(華)
gaanchurch
 
20130824 第六回チャンピオンシップシェル芸ランナー勉強会 in LLまつり
20130824 第六回チャンピオンシップシェル芸ランナー勉強会 in LLまつり20130824 第六回チャンピオンシップシェル芸ランナー勉強会 in LLまつり
20130824 第六回チャンピオンシップシェル芸ランナー勉強会 in LLまつり
Ryuichi Ueda
 
カスタマージャーニーから考えるコンテンツマーケティング設計
カスタマージャーニーから考えるコンテンツマーケティング設計カスタマージャーニーから考えるコンテンツマーケティング設計
カスタマージャーニーから考えるコンテンツマーケティング設計
masayoshi ogiso
 
ひまわり苑成27年6月勉強会(研究発表のつくり方)
ひまわり苑成27年6月勉強会(研究発表のつくり方)ひまわり苑成27年6月勉強会(研究発表のつくり方)
ひまわり苑成27年6月勉強会(研究発表のつくり方)
Yoji Kamada
 
Scaling Alignment: How to grow and still being agile
Scaling Alignment: How to grow and still being agileScaling Alignment: How to grow and still being agile
Scaling Alignment: How to grow and still being agile
Andreia Kumpera
 
実用Brainf*ckプログラミング
実用Brainf*ckプログラミング実用Brainf*ckプログラミング
実用Brainf*ckプログラミング
京大 マイコンクラブ
 
Прогерия
ПрогерияПрогерия
Прогерия
darya_buchkova
 

What's hot (13)

Walker david -_los_angeles_pue
Walker david -_los_angeles_pueWalker david -_los_angeles_pue
Walker david -_los_angeles_pue
 
Rによる特徴抽出 第48回R勉強会@東京(#TokyoR)
Rによる特徴抽出 第48回R勉強会@東京(#TokyoR)Rによる特徴抽出 第48回R勉強会@東京(#TokyoR)
Rによる特徴抽出 第48回R勉強会@東京(#TokyoR)
 
Suite recife
Suite recifeSuite recife
Suite recife
 
40 Best Christmas Quotes of All Time
40 Best Christmas Quotes of All Time40 Best Christmas Quotes of All Time
40 Best Christmas Quotes of All Time
 
abc032
abc032abc032
abc032
 
20200314-L-HACCP workshorp (basic)
20200314-L-HACCP workshorp (basic)20200314-L-HACCP workshorp (basic)
20200314-L-HACCP workshorp (basic)
 
信心的旅途(華)
信心的旅途(華)信心的旅途(華)
信心的旅途(華)
 
20130824 第六回チャンピオンシップシェル芸ランナー勉強会 in LLまつり
20130824 第六回チャンピオンシップシェル芸ランナー勉強会 in LLまつり20130824 第六回チャンピオンシップシェル芸ランナー勉強会 in LLまつり
20130824 第六回チャンピオンシップシェル芸ランナー勉強会 in LLまつり
 
カスタマージャーニーから考えるコンテンツマーケティング設計
カスタマージャーニーから考えるコンテンツマーケティング設計カスタマージャーニーから考えるコンテンツマーケティング設計
カスタマージャーニーから考えるコンテンツマーケティング設計
 
ひまわり苑成27年6月勉強会(研究発表のつくり方)
ひまわり苑成27年6月勉強会(研究発表のつくり方)ひまわり苑成27年6月勉強会(研究発表のつくり方)
ひまわり苑成27年6月勉強会(研究発表のつくり方)
 
Scaling Alignment: How to grow and still being agile
Scaling Alignment: How to grow and still being agileScaling Alignment: How to grow and still being agile
Scaling Alignment: How to grow and still being agile
 
実用Brainf*ckプログラミング
実用Brainf*ckプログラミング実用Brainf*ckプログラミング
実用Brainf*ckプログラミング
 
Прогерия
ПрогерияПрогерия
Прогерия
 

Similar to 千葉大学情報検索演習2018 正規表現とは何か(事前学習教材)

opensource and accessibility (Dec2000) Part 2
opensource and accessibility (Dec2000) Part 2opensource and accessibility (Dec2000) Part 2
opensource and accessibility (Dec2000) Part 2Takuya Nishimoto
 
質問応答システム入門
質問応答システム入門質問応答システム入門
質問応答システム入門
Hiroyoshi Komatsu
 
オトナのプログラミング勉強会 オトナのDeep Learning 2016-11
オトナのプログラミング勉強会 オトナのDeep Learning 2016-11オトナのプログラミング勉強会 オトナのDeep Learning 2016-11
オトナのプログラミング勉強会 オトナのDeep Learning 2016-11
Katsuhiro Morishita
 
機械学習ビジネス研究会(未踏研究会)
機械学習ビジネス研究会(未踏研究会)機械学習ビジネス研究会(未踏研究会)
機械学習ビジネス研究会(未踏研究会)
Tokoroten Nakayama
 
仕事の流儀 Vol1 基本編_ver1.1_外部公開ver
仕事の流儀 Vol1 基本編_ver1.1_外部公開ver仕事の流儀 Vol1 基本編_ver1.1_外部公開ver
仕事の流儀 Vol1 基本編_ver1.1_外部公開ver
Hirotaka Nishimiya
 
20120721_RxTstury05-LT
20120721_RxTstury05-LT20120721_RxTstury05-LT
20120721_RxTstury05-LTChiaki Nishi
 
2019年度 若手技術者向け講座 リファクタリング
2019年度 若手技術者向け講座 リファクタリング2019年度 若手技術者向け講座 リファクタリング
2019年度 若手技術者向け講座 リファクタリング
keki3
 

Similar to 千葉大学情報検索演習2018 正規表現とは何か(事前学習教材) (7)

opensource and accessibility (Dec2000) Part 2
opensource and accessibility (Dec2000) Part 2opensource and accessibility (Dec2000) Part 2
opensource and accessibility (Dec2000) Part 2
 
質問応答システム入門
質問応答システム入門質問応答システム入門
質問応答システム入門
 
オトナのプログラミング勉強会 オトナのDeep Learning 2016-11
オトナのプログラミング勉強会 オトナのDeep Learning 2016-11オトナのプログラミング勉強会 オトナのDeep Learning 2016-11
オトナのプログラミング勉強会 オトナのDeep Learning 2016-11
 
機械学習ビジネス研究会(未踏研究会)
機械学習ビジネス研究会(未踏研究会)機械学習ビジネス研究会(未踏研究会)
機械学習ビジネス研究会(未踏研究会)
 
仕事の流儀 Vol1 基本編_ver1.1_外部公開ver
仕事の流儀 Vol1 基本編_ver1.1_外部公開ver仕事の流儀 Vol1 基本編_ver1.1_外部公開ver
仕事の流儀 Vol1 基本編_ver1.1_外部公開ver
 
20120721_RxTstury05-LT
20120721_RxTstury05-LT20120721_RxTstury05-LT
20120721_RxTstury05-LT
 
2019年度 若手技術者向け講座 リファクタリング
2019年度 若手技術者向け講座 リファクタリング2019年度 若手技術者向け講座 リファクタリング
2019年度 若手技術者向け講座 リファクタリング
 

More from Kosetsu IKEDA

千葉大学情報検索演習2018 データベースとは何か(事前学習教材)
千葉大学情報検索演習2018 データベースとは何か(事前学習教材)千葉大学情報検索演習2018 データベースとは何か(事前学習教材)
千葉大学情報検索演習2018 データベースとは何か(事前学習教材)
Kosetsu IKEDA
 
千葉大学情報検索演習2018 第01回授業スライド
千葉大学情報検索演習2018 第01回授業スライド千葉大学情報検索演習2018 第01回授業スライド
千葉大学情報検索演習2018 第01回授業スライド
Kosetsu IKEDA
 
千葉大学情報検索演習2017 第01回授業
千葉大学情報検索演習2017 第01回授業千葉大学情報検索演習2017 第01回授業
千葉大学情報検索演習2017 第01回授業
Kosetsu IKEDA
 
KLC研修会#1 2年生が3年生に教えるには?
KLC研修会#1 2年生が3年生に教えるには?KLC研修会#1 2年生が3年生に教えるには?
KLC研修会#1 2年生が3年生に教えるには?
Kosetsu IKEDA
 
千葉大学図書館情報技術論2017 第08回授業補足スライド:自宅でSQLite3
千葉大学図書館情報技術論2017 第08回授業補足スライド:自宅でSQLite3千葉大学図書館情報技術論2017 第08回授業補足スライド:自宅でSQLite3
千葉大学図書館情報技術論2017 第08回授業補足スライド:自宅でSQLite3
Kosetsu IKEDA
 
図書の誤同定を解決する手法としてのマイクロタスク
図書の誤同定を解決する手法としてのマイクロタスク図書の誤同定を解決する手法としてのマイクロタスク
図書の誤同定を解決する手法としてのマイクロタスク
Kosetsu IKEDA
 
複数のマイクロタスクの組合せによる戦前期資料のテキスト化
複数のマイクロタスクの組合せによる戦前期資料のテキスト化複数のマイクロタスクの組合せによる戦前期資料のテキスト化
複数のマイクロタスクの組合せによる戦前期資料のテキスト化
Kosetsu IKEDA
 
千葉大学図書館情報技術論2017 第02回授業スライド
千葉大学図書館情報技術論2017 第02回授業スライド千葉大学図書館情報技術論2017 第02回授業スライド
千葉大学図書館情報技術論2017 第02回授業スライド
Kosetsu IKEDA
 
図書館検索システムの新しい形を目指して ~NDLラボサーチとL-Crowdを中心に
図書館検索システムの新しい形を目指して ~NDLラボサーチとL-Crowdを中心に図書館検索システムの新しい形を目指して ~NDLラボサーチとL-Crowdを中心に
図書館検索システムの新しい形を目指して ~NDLラボサーチとL-Crowdを中心に
Kosetsu IKEDA
 
先生と学生でメールの受信量はどの程度の差があるのか?
先生と学生でメールの受信量はどの程度の差があるのか?先生と学生でメールの受信量はどの程度の差があるのか?
先生と学生でメールの受信量はどの程度の差があるのか?
Kosetsu IKEDA
 
NDLラボサーチ|Code4Lib JAPAN カンファレンス2015 発表資料
NDLラボサーチ|Code4Lib JAPAN カンファレンス2015 発表資料NDLラボサーチ|Code4Lib JAPAN カンファレンス2015 発表資料
NDLラボサーチ|Code4Lib JAPAN カンファレンス2015 発表資料
Kosetsu IKEDA
 
TA研修会 講演資料
TA研修会 講演資料TA研修会 講演資料
TA研修会 講演資料
Kosetsu IKEDA
 

More from Kosetsu IKEDA (12)

千葉大学情報検索演習2018 データベースとは何か(事前学習教材)
千葉大学情報検索演習2018 データベースとは何か(事前学習教材)千葉大学情報検索演習2018 データベースとは何か(事前学習教材)
千葉大学情報検索演習2018 データベースとは何か(事前学習教材)
 
千葉大学情報検索演習2018 第01回授業スライド
千葉大学情報検索演習2018 第01回授業スライド千葉大学情報検索演習2018 第01回授業スライド
千葉大学情報検索演習2018 第01回授業スライド
 
千葉大学情報検索演習2017 第01回授業
千葉大学情報検索演習2017 第01回授業千葉大学情報検索演習2017 第01回授業
千葉大学情報検索演習2017 第01回授業
 
KLC研修会#1 2年生が3年生に教えるには?
KLC研修会#1 2年生が3年生に教えるには?KLC研修会#1 2年生が3年生に教えるには?
KLC研修会#1 2年生が3年生に教えるには?
 
千葉大学図書館情報技術論2017 第08回授業補足スライド:自宅でSQLite3
千葉大学図書館情報技術論2017 第08回授業補足スライド:自宅でSQLite3千葉大学図書館情報技術論2017 第08回授業補足スライド:自宅でSQLite3
千葉大学図書館情報技術論2017 第08回授業補足スライド:自宅でSQLite3
 
図書の誤同定を解決する手法としてのマイクロタスク
図書の誤同定を解決する手法としてのマイクロタスク図書の誤同定を解決する手法としてのマイクロタスク
図書の誤同定を解決する手法としてのマイクロタスク
 
複数のマイクロタスクの組合せによる戦前期資料のテキスト化
複数のマイクロタスクの組合せによる戦前期資料のテキスト化複数のマイクロタスクの組合せによる戦前期資料のテキスト化
複数のマイクロタスクの組合せによる戦前期資料のテキスト化
 
千葉大学図書館情報技術論2017 第02回授業スライド
千葉大学図書館情報技術論2017 第02回授業スライド千葉大学図書館情報技術論2017 第02回授業スライド
千葉大学図書館情報技術論2017 第02回授業スライド
 
図書館検索システムの新しい形を目指して ~NDLラボサーチとL-Crowdを中心に
図書館検索システムの新しい形を目指して ~NDLラボサーチとL-Crowdを中心に図書館検索システムの新しい形を目指して ~NDLラボサーチとL-Crowdを中心に
図書館検索システムの新しい形を目指して ~NDLラボサーチとL-Crowdを中心に
 
先生と学生でメールの受信量はどの程度の差があるのか?
先生と学生でメールの受信量はどの程度の差があるのか?先生と学生でメールの受信量はどの程度の差があるのか?
先生と学生でメールの受信量はどの程度の差があるのか?
 
NDLラボサーチ|Code4Lib JAPAN カンファレンス2015 発表資料
NDLラボサーチ|Code4Lib JAPAN カンファレンス2015 発表資料NDLラボサーチ|Code4Lib JAPAN カンファレンス2015 発表資料
NDLラボサーチ|Code4Lib JAPAN カンファレンス2015 発表資料
 
TA研修会 講演資料
TA研修会 講演資料TA研修会 講演資料
TA研修会 講演資料
 

千葉大学情報検索演習2018 正規表現とは何か(事前学習教材)