負けてたまるか。

脳トレ、プログラミング、PHP、WEB製作などのメモ

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
--.--.-- --:-- | スポンサー広告 | トラックバック(-) | コメント(-) | Edit
【11~15問】
置換前のデータが置換後になるように正規表現をつかってください。

第11問


置換前


computer vicoms that spreads com one computer to ancomer overcom a network, etcom.


置換後


computer vi●s that spreads com one computer to an●er overcom a network, etcom.


正解例 ※文字を反転すると正解例が表示されます


\Bcom\B


説明 ※文字を反転すると説明が表示されます



\B … 単語の中にある文字列にマッチ
\Bcom\B … ancomer のような単語の中にある com にマッチします。
  com にはマッチしないのがポイント


第12問


正規表現


次の正規表現を用いると、どんな文字列が選択されるかを書いてください。
((ラ)ーメン)\2


正解 ※文字を反転すると正解が表示されます


ラーメンラ


説明 ※文字を反転すると説明が表示されます


\  … ()で指定した文字列にマッチ(後方参照)
\2 … 2番目のカッコにマッチ。
\1 なら1番目、\6なら6番目のカッコにマッチします。
問題では、((ラ)ーメン)のようにカッコが2つ使われていますね。
この場合、以下のような流れになります。

ラーメン+\2 → ラーメン+ラ → ラーメンラ

もし、((ラ)ーメン)\1 という正規表現ならば、
ラーメンラーメン がマッチすることになります。


第13問


正規表現


次の正規表現を用いると、どんな文字列が選択されるかを書いてください。
(エ(?:イ)(ア)(?:ウ))\2


正解 ※文字を反転すると正解が表示されます


エイアウア


説明 ※文字を反転すると説明が表示されます


(?:) … \1 などに保存しない
  通常カッコ内の文字列は \1 や \2 などに保存されますが、
  ?: を カッコ内に (?:) と入れると、保存しないように設定します。
(エ(?:イ)(ア)(?:ウ))\2 … 通常は \1 に「エ」、\2 に「イ」、\3に「ア」、\4に「ウ」が保存されますが、
  「イ」と「ウ」には ?: があるので、\ に保存されません。
   よって、\1 に「エ」、\2 に「ア」が保存されるので、
  エイアウ+ア=エイアウアとなります。


第14問


置換前


AAAAA
AABFGAA
AAAAAA


置換後


AA●●A
●●BFG●●
AA●●AA


AAではじまり、AAの後に「AA」が無ければマッチするようにしてください。


正解例 ※文字を反転すると正解例が表示されます


AA(?!AA)


説明 ※文字を反転すると説明が表示されます


AA(?!AA) … AAではじまり、AAの後に「AA」という文字列を含んでいなければマッチします。
(?!)  … カッコ内の文字列を含まない文字列にマッチします(否定先読み)
  
  例えば ラーメン(?!屋)という正規表現ならば、
  ラーメンの後に「屋」という文字が含まれない「ラーメン」にマッチします。


第15問


置換前


トンカツ屋の天丼屋に入ってカレーセットを吉野屋で頼んだ


置換後


トン●●屋の●●屋に入ってカレーセットを●●屋で頼んだ


「屋」の前2文字にマッチしてください。(|)は使っちゃ駄目!


正解例 ※文字を反転すると正解例が表示されます


..(?=屋)


説明 ※文字を反転すると説明が表示されます


..(?=屋) … 「屋」が含まれる前2文字にマッチ(肯定先読み)
スポンサーサイト
【1~10問】
本家の正規表現パズルが初心者に優しくないので作ったw
(初心者=俺)

※置換前のデータが置換後になるように正規表現をつかってください。

第1問


置換前


真偽の評価
不完全動詞
反復
比較を用いた慣用構文


置換後


●●の評価
不完全●●
反復
比較を用いた●●構文


正解例 ※反転するとみえるよ


(真偽|動詞|慣用)


説明 ※反転するとみえるよ


(キーワード|キーワード) … 複数のキーワードにマッチ


第2問


置換前



1234567890

置換後



●2●4●6●8●0

正解例 ※文字を反転させてね


[13579]
(1|3|5|7|9)

説明 ※文字を反転させてね


[] … 任意の1文字にマッチ

第3問


置換前



surface
Surcharge
surcingle
srudent
Sur

置換後






srudent
Sur

【注意】
(|)は使わないで置換してください。

正解例 ※文字を反転させてね


[sS]ur.+

説明 ※文字を反転させてね


[sS] … sかSを含む文字にマッチ
 [sS]ur なので sur か Sur にマッチする
.+  … 任意の1文字以上の文字列にマッチ
 Sur は Sur の後に文字列が無いのでマッチしない

第4問


置換前



らいおんらいおんらいおんらいおんらいおん

置換後



●らいおんらいおん

【注意】
1~3回までの「らいおん」の繰り返しを置換するように
正規表現を書いてください。

正解例 ※文字を反転させてね


(らいおん){1,3}

説明 ※文字を反転させてね


() … グループ化
{1,3} … 1~3回までの文字列の繰り返しにマッチ
(らいおん){1,3} … 「らいおん」という文字列の1~3回までの繰り返しにマッチ

第5問


置換前



SQL86
MYSQL
PostgreSQL
SQL
RDBMS
SQL Server

置換後




MYSQL
PostgreSQL
SQL
RDBMS


【注意】
(|)は使っちゃ駄目!

正解例 ※文字を反転させてね


.*SQL.+

説明 ※文字を反転させてね


.*SQL.+ … (0文字以上の文字列)SQL(1文字以上の文字列)
   SQLがマッチしないのは、SQLという文字列の後に1文字以上の文字列が無いから。

第6問


置換前



2008年3月15日現在、8面16線の島式ホームと線路を使用する地上駅。ホーム・線路は南北に伸び、東から1 - 16番線となっている。連絡通路は「北通路」「中央通路」と呼ばれる地下道、南口の跨線橋、新南口・サザンテラス口の跨線橋の4つである。

かつては、新南口は1 - 6番線のホームからのみ利用できたが、2006年4月16日に跨線橋が延伸されるとともに仮駅舎としてサザンテラス口が開設され、すべてのホームから直接アクセスできるようになった。

1 - 6番線はほかのホームに比べると南に位置している。特に5・6番線のホームの一番北側は7・8番線の一番南側と南北でほぼ同じ位置にあり、ホームのほぼ全域が甲州街道より南側の渋谷区に属する。

置換後



2008年3月15日現在、8面16線の島式ホームと線路を使用する地上駅。ホーム・線路は南北に伸び、東から●となっている。連絡通路は「北通路」「中央通路」と呼ばれる地下道、南口の跨線橋、新南口・サザンテラス口の跨線橋の4つである。

かつては、新南口は●のホームからのみ利用できたが、2006年4月16日に跨線橋が延伸されるとともに仮駅舎としてサザンテラス口が開設され、すべてのホームから直接アクセスできるようになった。

●はほかのホームに比べると南に位置している。特に●のホームの一番北側は●の一番南側と南北でほぼ同じ位置にあり、ホームのほぼ全域が甲州街道より南側の渋谷区に属する。

wikipedia-新宿駅より抜粋
http://ja.wikipedia.org/wiki/%E6%96%B0%E5%AE%BF%E9%A7%85

正解例 ※文字を反転させてね


[1-9]{1,2}[^0-9]*?[1-9]{0,2}番線
(正直自信ないっす。どっか間違ってたらごめんw)

説明 ※文字を反転させてね


[1-9]{1,2} … 1~9までの数字の1回~2回にマッチ
1 - 13番線の「1」、12番線の「12」の部分にマッチ
[^0-9]*   … 数字以外の文字列の0回以上にマッチ
[^0-9]*?  … (可能な限り少ない回数で)数字以外の文字列の0回以上にマッチ

※ * と *? の違い
文章
あんみつクリームパンみっつ頂戴

正規表現
あ.+つ

結果
あんみつクリームパンみっつ
↑「あんみつ」ではなく「あんみつクリームパンみっつ」が選択されます。
そこで、「あ.+?つ」と正規表現を変更すると…


文章
あんみつクリームパンみっつ頂戴

正規表現
あ.+?つ

結果
あんみつ


↑「あんみつ」が選択されました。
このように、 * や + などの直後に ? をつけると、最低限の回数でマッチするようになります。

第7問


置換前



英数字:abcdefg HIJKLMN 1234567 _
全角スペース:            
タブ:

置換後



英数字:abcdefg●HIJKLMN●1234567●_
全角スペース:            
タブ:●●●●●●●

【注意】
メタ文字(\t みたいなやつ)を使ってね!

正解例 ※文字を反転させてね


\s

説明 ※文字を反転させてね


\s … タブや半角スペースなどの空白文字にマッチ
※全角スペースにはマッチしないようです。

第8問


置換前



英数字:abcdefg HIJKLMN 1234567 _
全角スペース:            
タブ:

置換後



英数字:●●●●●●● ●●●●●●● ●●●●●●● ●
全角スペース:            
タブ:

【注意】
メタ文字(\t みたいなやつ)を使ってね!

正解例 ※文字を反転させてね


\w

説明 ※文字を反転させてね


\w … a-z A-Z 0-9 _(アンダーライン)などの英数字にマッチ

第9問


第8問の逆で、英数字以外にマッチさせてください。

正解例 ※文字を反転させてね


\W

説明 ※文字を反転させてね


\W … a-z A-Z 0-9 _(アンダーライン)などの英数字以外にマッチ

第10問


置換前



ニコニコ動画  ニコニコ動画  ニコニコ動画

ニコニコ動画  ニコニコ動画  ニコニコ動画

置換後



●  ニコニコ動画  ニコニコ動画

ニコニコ動画  ニコニコ動画  ニコニコ動画

正解例 ※文字を反転させてね


\Aニコニコ動画

説明 ※文字を反転させてね


\A … テキストの先頭の文字列にマッチ
| ホーム |

カレンダー

04 | 2017/05 | 06
- 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31 - - -

最近の記事

月別アーカイブ

タグリスト

ブログ内検索

カテゴリー

RSSフィード

リンク

ブロとも申請フォーム

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。