「
正規表現 課題集
」を編集中
ナビゲーションに移動
検索に移動
警告:
ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。
ログイン
または
アカウントを作成
すれば、あなたの編集はその利用者名とともに表示されるほか、その他の利点もあります。
スパム攻撃防止用のチェックです。 けっして、ここには、値の入力は
しない
でください!
<div id="problem"> ==基本編== <div class="section"> ===問題 1-1=== <dl> <dt>文字列</dt> <dd class="txt-data"> <pre> abc123defあいうえお </pre> </dd> <dt>内容</dt> <dd>全ての文字を1文字ずつaに変える</dd> <dt>結果</dt> <dd class="txt-data"> <pre> aaaaaaaaaaaaa </pre> </dd> <dt class="answer-title">解答[表示]</dt> <dd class="answer"> <pre> . ↓ a </pre> </dd> </dl> </div> <div class="section"> ===問題 1-2=== <dl> <dt>文字列</dt> <dd class="txt-data"> <pre> abc123defあいうえお </pre> </dd> <dt>内容</dt> <dd>3桁の数字をhitに変える</dd> <dt>結果</dt> <dd class="txt-data"> <pre> abchitdefあいうえお </pre> </dd> <dt class="answer-title">解答[表示]</dt> <dd class="answer"> <pre> \d{3} ↓ hit </pre> </dd> </dl> </div> <div class="section"> ===問題 1-3=== <dl> <dt>文字列</dt> <dd class="txt-data"> <pre> abc123abc123abc123 </pre> </dd> <dt>内容</dt> <dd>最初のabcだけをdefに変える</dd> <dt>結果</dt> <dd class="txt-data"> <pre> def123abc123abc123 </pre> </dd> <dt class="answer-title">解答[表示]</dt> <dd class="answer"> <pre> ^abc ↓ def </pre> </dd> </dl> </div> <div class="section"> ===問題 1-4=== <dl> <dt>文字列</dt> <dd class="txt-data"> <pre> abc123defあいうえお あいうえおabc123def abc123defあいうえお </pre> </dd> <dt>内容</dt> <dd>abcから始まる行をABCに変える</dd> <dt>結果</dt> <dd class="txt-data"> <pre> ABC あいうえおabc123def ABC </pre> </dd> <dt class="answer-title">解答[表示]</dt> <dd class="answer"> <pre> ^abc.*$ ↓ ABC </pre> </dd> </dl> </div> <div class="section"> ===問題 1-5=== <dl> <dt>文字列</dt> <dd class="txt-data"> <pre> line1 line2 line3 </pre> </dd> <dt>内容</dt> <dd>/で一行に連結する</dd> <dt>結果</dt> <dd class="txt-data"> <pre> line1/line2/line3 </pre> </dd> <dt class="answer-title">解答[表示]</dt> <dd class="answer"> <pre> (\r\n|\r|\n) ↓ / </pre> </dd> </dl> </div> <div class="section"> ===問題 1-6=== <dl> <dt>文字列</dt> <dd class="txt-data"> <pre> 佃煮・漬物 調味料・だし おかず・おつまみ その他 魚介・海産物 乾物・お茶・デザート 肉・ソーセージ </pre> </dd> <dt>内容</dt> <dd>行頭に「味百選>アイテムから探す>」を足す</dd> <dt>結果</dt> <dd class="txt-data"> <pre> 味百選>アイテムから探す>佃煮・漬物 味百選>アイテムから探す>調味料・だし 味百選>アイテムから探す>おかず・おつまみ その他 味百選>アイテムから探す>魚介・海産物 味百選>アイテムから探す>乾物・お茶・デザート 味百選>アイテムから探す>肉・ソーセージ </pre> </dd> <dt class="answer-title">解答[表示]</dt> <dd class="answer"> <pre> ^ ↓ 味百選>アイテムから探す> </pre> </dd> </dl> </div> <div class="section"> ===問題 1-7=== <dl> <dt>文字列</dt> <dd class="txt-data"> <pre> if(val > 5){ i=12; } </pre> </dd> <dt>内容</dt> <dd>行末のタブのみ削除</dd> <dt>結果</dt> <dd class="txt-data"> <pre> if(val > 5){ i=12; } </pre> </dd> <dt class="answer-title">解答[表示]</dt> <dd class="answer"> <pre> \t*$ ↓ </pre> </dd> </dl> </div> ==グルーピング編== <div class="section"> ===問題 2-1=== <dl> <dt>文字列</dt> <dd class="txt-data"> <pre> 番号1 81064 番号2 81079 番号3 81080 番号4 81081 番号5 81082 </pre> </dd> <dt>内容</dt> <dd>数字を全て9桁にする(頭を0で埋める)</dd> <dt>結果</dt> <dd class="txt-data"> <pre> 番号1 000081064 番号2 000081079 番号3 000081080 番号4 000081081 番号5 000081082 </pre> </dd> <dt class="answer-title">解答[表示]</dt> <dd class="answer"> <pre> (\d{5}) ↓ 0000$1 ================ ^(\d) ↓ 0000$1 </pre> </dd> </dl> </div> <div class="section"> ===問題 2-2=== <dl> <dt>文字列</dt> <dd class="txt-data"> <pre> <p><a href="http://www.foo.example.com/">"まとめサイト"</a></p> </pre> </dd> <dt>内容</dt> <dd>href要素がどんなURLでも、http://192.168.200.60:16080/kds_tko/に置き換える処理</dd> <dt>結果</dt> <dd class="txt-data"> <pre> <p><a href="http://192.168.200.60:16080/kds_tko/">"まとめサイト"</a></p> </pre> </dd> <dt class="answer-title">解答[表示]</dt> <dd class="answer"> <pre> href="[^"]*" ↓ href="http://192.168.200.60:16080/kds_tko/" </pre> </dd> </dl> </div> <div class="section"> ===問題 2-3=== <dl> <dt>文字列</dt> <dd class="txt-data"> <pre> タカシマヤ 三越 伊勢丹 高島屋 </pre> </dd> <dt>内容</dt> <dd>「高島屋」と「タカシマヤ」の後に「オンラインショッピング」を加える</dd> <dt>結果</dt> <dd class="txt-data"> <pre> タカシマヤオンラインショッピング 三越 伊勢丹 高島屋オンラインショッピング </pre> </dd> <dt class="answer-title">解答[表示]</dt> <dd class="answer"> <pre> (タカシマヤ|高島屋) ↓ $1オンラインショッピング </pre> </dd> </dl> </div> ==否定の先読み・否定の戻り読み編== <div class="section"> ===問題 3-1=== <dl> <dt>文字列</dt> <dd class="txt-data"> <pre> 高島屋 高島屋通信販売 </pre> </dd> <dt>内容</dt> <dd>高島屋のみをタカシマヤに変換する</dd> <dt>結果</dt> <dd class="txt-data"> <pre> タカシマヤ 高島屋通信販売 </pre> </dd> <dt class="answer-title">解答[表示]</dt> <dd class="answer"> <pre> 高島屋(?!通信販売) ↓ タカシマヤ </pre> </dd> </dl> </div> <div class="section"> ===問題 3-2=== <dl> <dt>文字列</dt> <dd class="txt-data"> <pre> 佃煮・漬物 調味料・だし おかず・おつまみ その他 魚介・海産物 乾物・お茶・デザート 肉・ソーセージ </pre> </dd> <dt>内容</dt> <dd>テキスト部分のみ、行頭に「味百選>アイテムから探す>」を足す(タブ、半角・全角スペース、改行のみの行がある場合)</dd> <dt>結果</dt> <dd class="txt-data"> <pre> 味百選>アイテムから探す>佃煮・漬物 味百選>アイテムから探す>調味料・だし 味百選>アイテムから探す>おかず・おつまみ その他 味百選>アイテムから探す>魚介・海産物 味百選>アイテムから探す>乾物・お茶・デザート 味百選>アイテムから探す>肉・ソーセージ </pre> </dd> <dt class="answer-title">解答[表示]</dt> <dd class="answer"> <pre> ^(?![\t\r\n\s ]) ↓ 味百選>アイテムから探す> </pre> </dd> </dl> </div> <div class="section"> ===問題 3-3=== <dl> <dt>文字列</dt> <dd class="txt-data"> <pre> ■名前 初音ミク ■住所 高山くんち ■電話番号 110-119-117 </pre> </dd> <dt>内容</dt> <dd>■から始まる行以外を【】で囲う</dd> <dt>結果</dt> <dd class="txt-data"> <pre> ■名前 【初音ミク】 ■住所 【高山くんち】 ■電話番号 【110-119-117】 </pre> </dd> <dt class="answer-title">解答[表示]</dt> <dd class="answer"> <pre> ^((?:(?!■).)*)$ ↓ 【$1】 ================ ※サクラエディタで試す場合は ^((?:(?!■).)*)\r\n ↓ 【$1】\r\n </pre> </dd> </dl> </div> <div class="section"> ===問題 3-4=== <dl> <dt>文字列</dt> <dd class="txt-data"> <pre> <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> </pre> </dd> <dt>内容</dt> <dd>href属性を含まない行は削除する</dd> <dt>結果</dt> <dd class="txt-data"> <pre> <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> </pre> </dd> <dt class="answer-title">解答[表示]</dt> <dd class="answer"> <pre> ^(?:(?!href=").)*$ ↓ ================ ※サクラエディタで試す場合は ^(?:(?!href=").)*\r\n </pre> </dd> </dl> </div> ==応用編== <div class="section"> ===問題 4-1=== <dl> <dt>文字列</dt> <dd class="txt-data"> <pre> 00000166 00004234 00003465 00003468 00000168 00004300 00000168 00004234 00004204 00003468 00004202 00004300 0555658 00000168 00004234 00004204 00003468 00004202 00004300 00000168 00004234 00004204 00003468 00004202 00004300 441 ファッション>ブランド>ダーウィン 00000441 ファッション>ブランド>ラガシャ 3321 00000426 ファッション>ブランド>ワンダーブラ </pre> </dd> <dt>内容</dt> <dd>タブ区切りの数値の中で、7桁未満の数値をhitに置換する</dd> <dt>結果</dt> <dd class="txt-data"> <pre> 00000166 00004234 00003465 00003468 00000168 00004300 00000168 00004234 00004204 00003468 00004202 00004300 hit 00000168 00004234 00004204 00003468 00004202 00004300 00000168 00004234 00004204 00003468 00004202 00004300 hit ファッション>ブランド>ダーウィン 00000441 ファッション>ブランド>ラガシャ hit 00000426 ファッション>ブランド>ワンダーブラ </pre> </dd> <dt class="answer-title">解答[表示]</dt> <dd class="answer"> <pre> \b\d((?!\d{7})(?!\t).)+ ↓ hit </pre> </dd> </dl> </div> ==上級編(複数回置換)== <!-- template <div class="section"> ===問題 1-1=== <dl> <dt>文字列</dt> <dd class="txt-data"> <pre> before </pre> </dd> <dt>内容</dt> <dd></dd> <dt>結果</dt> <dd class="txt-data"> <pre> after </pre> </dd> <dt class="answer-title">解答[表示]</dt> <dd class="answer"> <pre> match ↓ replace </pre> </dd> </dl> </div> --> </div>
編集内容の要約:
Wiki@KDSへの投稿はすべて、他の投稿者によって編集、変更、除去される場合があります。 自分が書いたものが他の人に容赦なく編集されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください(詳細は
Wiki@KDS:著作権
を参照)。
著作権保護されている作品は、許諾なしに投稿しないでください!
キャンセル
編集の仕方
(新しいウィンドウで開きます)
案内メニュー
個人用ツール
ログインしていません
トーク
投稿記録
アカウント作成
ログイン
名前空間
ページ
議論
日本語
表示
閲覧
編集
履歴表示
その他
検索
案内
メインページ
最近の更新
おまかせ表示
MediaWikiについてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報