SlideShare une entreprise Scribd logo
1  sur  17
正規表現とは何か(「情報検索演習」事前教材)
正規表現とは何か
「情報検索演習」事前教材
アカデミック・リンク・センター
常川真央, 池田光雪
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

Contenu connexe

Plus de Kosetsu IKEDA

千葉大学図書館情報技術論2017 第08回授業補足スライド:自宅でSQLite3
千葉大学図書館情報技術論2017 第08回授業補足スライド:自宅でSQLite3千葉大学図書館情報技術論2017 第08回授業補足スライド:自宅でSQLite3
千葉大学図書館情報技術論2017 第08回授業補足スライド:自宅でSQLite3
Kosetsu IKEDA
 
千葉大学図書館情報技術論2017 第02回授業スライド
千葉大学図書館情報技術論2017 第02回授業スライド千葉大学図書館情報技術論2017 第02回授業スライド
千葉大学図書館情報技術論2017 第02回授業スライド
Kosetsu IKEDA
 

Plus de 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研修会 講演資料
 

Dernier

TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
YukiTerazawa
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
koheioishi1
 

Dernier (7)

TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
 
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
 
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
 
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
 
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
 
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
 

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