プログラミング基礎 II

第十三回 (2012年1月16日)

正規表現

http://www.sw.it.aoyama.ac.jp/2011/PB2/lecture13.html

Martin J. Dürst

AGU

© 2011-12 Martin J. Dürst 青山学院大学

今日の予定

これからの予定

1月19日 (木曜日3限、補講): 14回目の授業 (補講についての注意)

期末試験: 1月23日 (3限、13:10-14:10)

期末試験の内容:

過去問: 2010年度

前回の復習

前回の演習 1

提出: 12月23日 (金曜日) 22:00 までに Moodle に famous_stats.rb のファイル名で投稿

有名人のデータから次の統計を計算し、出力しなさい。

注意: 肥満度ごとにプログラムをコピペしないで、イテレータを使う

ヒント:

発展問題: 平均を計算できる関数を作って使う

正解例: famous_stats.rb

前回の演習 2

これから自分が書きたいプログラムの概要・応用を文書 (.txt ファイル) で説明しなさい。

条件:

今回への準備

授業全体の内容を復習し、分からない部分をリストアップ

今までの文字列操作の限界

正規表現の概要

(regular expression)

正規表現の例

正規表現の記法

場所の指定

文字の指定

繰り返しの指定

正規表現の使い方: チェック

 

正規表現の使い方: 置き換え

演習 1

次の文を irb に入れ、正規表現とその使い方を試してみてください。

ヒント: irb 内にカーソルキー(←↑→↓) を使って、長い例を全部再入力しないようにする

 

演習 2

次の正規表現のマッチする文字列とマッチしない文字列を irb を使って見つけなさい。

他にもいろいろ試してみてください。

 

演習 3

提出: 1月18日 (水曜日) 22:00 までに Moodle に famous_regexp.rb のファイル名で投稿

有名人のデータから正規表現を使って特殊な有名人を探し出してください。例:

その他や複数のものも可能。何を出力するのか出力に明記しなさい。