正規表現 課題集

提供:Wiki@KDS
2007年10月17日 (水) 19:58時点における192.168.200.244 (トーク)による版
ナビゲーションに移動 検索に移動

基本編

問題 1-1

文字列
abc123defあいうえお
内容
全ての文字を1文字ずつaに変える
結果
aaaaaaaaaaaaa
解答[表示]
.
↓
a


問題 1-2

文字列
abc123defあいうえお
内容
3桁の数字をhitに変える
結果
abchitdefあいうえお
解答[表示]
\d{3}
↓
hit


問題 1-3

文字列
abc123abc123abc123
内容
最初のabcだけをdefに変える
結果
def123abc123abc123
解答[表示]
^abc
↓
def


問題 1-4

文字列
abc123defあいうえお
あいうえおabc123def
abc123defあいうえお
内容
abcから始まる行をABCに変える
結果
ABC
あいうえおabc123def
ABC
解答[表示]
^abc.*$
↓
ABC


問題 1-5

文字列
line1
line2
line3
内容
/で一行に連結する
結果
line1/line2/line3
解答[表示]
(\r\n|\r|\n)
↓
/


問題 1-6

文字列
佃煮・漬物
調味料・だし
おかず・おつまみ その他
魚介・海産物
乾物・お茶・デザート
肉・ソーセージ
内容
行頭に「味百選>アイテムから探す>」を足す
結果
味百選>アイテムから探す>佃煮・漬物
味百選>アイテムから探す>調味料・だし
味百選>アイテムから探す>おかず・おつまみ その他
味百選>アイテムから探す>魚介・海産物
味百選>アイテムから探す>乾物・お茶・デザート
味百選>アイテムから探す>肉・ソーセージ
解答[表示]
^
↓
味百選>アイテムから探す>


問題 1-7

文字列
	if(val > 5){	
		i=12;		
	}
内容
行末のタブのみ削除
結果
	if(val > 5){
		i=12;
	}
解答[表示]
\t*$
↓


グルーピング編

問題 2-1

文字列
番号1
81064
番号2
81079
番号3
81080
番号4
81081
番号5
81082
内容
数字を全て9桁にする(頭を0で埋める)
結果
line1/line2/line3
解答[表示]
(\d{5})
↓
000$1
================
^(\d)
↓
000$1


問題 2-2

文字列
<p><a href="http://www.foo.example.com/">"まとめサイト"</a></p>
内容
href要素がどんなURLでも、http://192.168.200.60:16080/kds_tko/に置き換える処理
結果
<p><a href="http://192.168.200.60:16080/kds_tko/">"まとめサイト"</a></p>
解答[表示]
href="[^"]*"
↓
href="http://192.168.200.60:16080/kds_tko/"


問題 2-3

文字列
タカシマヤ
三越
伊勢丹
高島屋
内容
「高島屋」と「タカシマヤ」の後に「オンラインショッピング」を加える
結果
タカシマヤオンラインショッピング
三越
伊勢丹
高島屋オンラインショッピング
解答[表示]
(タカシマヤ|高島屋)
↓
$1オンラインショッピング

否定の先読み・否定の戻り読み編

問題 3-1

文字列
高島屋
高島屋通信販売
内容
高島屋のみをタカシマヤに変換する
結果
タカシマヤ
高島屋通信販売
解答[表示]
高島屋(?!通信販売)
↓
タカシマヤ


問題 3-2

文字列
■名前
初音ミク
■住所
高山くんち
■電話番号
110-119-117
内容
■から始まる行以外の行頭にインデントを入れる
結果
■名前
	初音ミク
■住所
	高山くんち
■電話番号
	110-119-117
解答[表示]
^((?!■).*)$
↓
\t$1


問題 3-3

文字列
<div class="campaign">
 <dl class="clearfix">
  <dt><img src="top/img/icon_campaign.gif" width="52" height="13" alt="キェンペーン" title=""></dt>
  <dd class="date">2007年10月17日</dd>
  <dd><a href="/shopping/campaign/index.html">「高島屋のお歳暮」オープン。人気のバッグを始め、各種お買上げキャンペーン実施中。</a></dd>
 </dl>
 <dl class="clearfix">
  <dt><img src="top/img/icon_campaign.gif" width="52" height="13" alt="キェンペーン" title=""></dt>

  <dd class="date">2007年10月17日</dd>
  <dd><a href="/shopping/campaign/index.html">「魍魎の匣」・「サーフズ・アップ」特別鑑賞券プレゼントキャンペーン実施中。</a></dd>
 </dl>
 <dl class="clearfix">
  <dt><img src="top/img/icon_news.gif" width="52" height="13" alt="お知らせ" title=""></dt>
  <dd class="date">2007年10月17日</dd>
  <dd><a href="/shopping/guide/member/index2.html#member12">ギフトお申し込み履歴サービス ・お届け先 事前登録代行サービスをご利用いただけます。</a></dd>

 </dl>
 <p class="to-list"><img src="common/img/arrow_red.gif" width="8" height="9" alt="" title=""><a href="campaign/index.html?shoptop">キャンペーン・お知らせ一覧へ</a></p>
</div>
内容
href属性を含まない行は削除する
結果
  <dd><a href="/shopping/campaign/index.html">「高島屋のお歳暮」オープン。人気のバッグを始め、各種お買上げキャンペーン実施中。</a></dd>
  <dd><a href="/shopping/campaign/index.html">「魍魎の匣」・「サーフズ・アップ」特別鑑賞券プレゼントキャンペーン実施中。</a></dd>
  <dd><a href="/shopping/guide/member/index2.html#member12">ギフトお申し込み履歴サービス ・お届け先 事前登録代行サービスをご利用いただけます。</a></dd>
 <p class="to-list"><img src="common/img/arrow_red.gif" width="8" height="9" alt="" title=""><a href="campaign/index.html?shoptop">キャンペーン・お知らせ一覧へ</a></p>
</div>
解答[表示]
^(?:(?!href=").)*$
↓

================
※サクラエディタで試す場合は
^(?:(?!href=").)*\r\n

応用編

上級編(複数回置換)