正規表現

以下の文章から文字列を検索とします。

昔々、ある所におじいさんとおばあさんが2人で住んでおりました。
おじいさんは昔はイケメンでした、しかし年老いた今もダンディなオーラを放ち続けるイケメンジイさんです。
おばあさんは昔はそれ程だったのですが、とある洞窟で若返りの薬を手に入れ、体にメスを入れたことによって
超絶美人になっていました。
そんなとある日の事、いつものように縁側で渋いお茶を飲み、シュークリームをほうばっていると
MURAの若い衆が駆け込んできました。
若い衆の顔は青白く、息も荒れており誰が見ても緊急事態なのが明白だったので
おじいさんは慌てる事なく、若い衆に落ち着つくまで待ちました。

「大変だ!鬼が攻めてきたんだ!じいさん!なんとかしてくれよ!」

最近都を荒らしているという噂の鬼がどうやらこのMURAを標的としたようでした。

「そうか・・・ならば仕方がない。その鬼には痛い目にあってもらわねばな」

そう言いながら立ち上がったおじいさんが、ふぅっ と一息をつくと
一般人体系だったおじいさんの筋肉が膨張し、あっという間にマッチョじいさんに姿を変えました。

「ヒューッ 流石じいさんだぜ!これでこのMURAも安心だ!」
「5分で戻る。ばぁさんやステーキを焼いておいてくれまいか」
「合点承知の助」

おじいさんはボルトも真っ青なスピードで駆け出しました。
約3里先のMURAの集会所あたりからドンドンと重い音が響きます。
鬼の気配を察知したおじいさんはさらにスピードを上げ、集会所へと向かいます。

集会所へとたどり着くと、既に集会所の建物は無残にもがれきの山となっており
そのがれきの山のてっぺんに鬼があぐらをかいて座っており、顔を確認しようとしてのですが
おじいさんからは逆光で鬼の顔をうかがい知る事はできませんでした。
「貴様が鬼じゃな?このMURAを標的にしたことを悔やむがよい。」

「ワシが何も考えずにこのMURAを襲ったとでも?」
「何ぃっ」
「久しぶりだな・・・もう50年ぶりになるのか」

その時、太陽が雲に隠れ、ゆっくりと鬼の顔が確認できるようになり
完全に鬼の顔を確認したおじいさんは自分の目を疑いました。

「な・・・に、にいさん・・・!?」
「鬼になってもワシの顔を認識できるとは流石兄弟といった所か」
「何故あなたがこんな・・・!あなたはこんな事をする人では・・・!」

「忘れもせんぞ、あの時ワシに行ったことを」
「何の事ですか!」

鬼、もといお兄さんは忘れてしまった仕方がない弟に経緯を話しました。
「お前は何故あの時余ったクリームパンを独り占めしたのだ」
「何故半分こができなかったのだ!!!」
「わしも食べたかったのだぞ・・・!クリームパンがなぁああああぁあぁ!!!!!」
余りの声に大気が震え、ビリビリと唸りを上げます。

「はぁ?クリームパンだと!あなたは次の日に!」
「昨日は独り占めしたから今日のチョコパンはわけてやらん と」
「一人で食べてしまったではないか!!」


「あれ、そうだっけ?おにいちゃん勘違いしてた!ヾ(>ω<)ノMUUUHAHAHA」

あまりにもくだらない再会
あまりにもくだらない内容でMURAを荒らされた事に激怒したおじいさんは
遂に禁断のMURAの秘刀 ☆MASAMUNE☆ を使う事を決心しました。

次回へ続く

JSで正規表現を使うには、RegExpオブジェクトを使用します。 基本的には
str = XXXXX; //検索対象文字列
reg = new RegExp("正規表現","フラグ");
mat = str.match(reg);
のように使う

mat[0] = "マッチした最初の文字列";
mat['index'] = "マッチした最初の文字列の位置";
mat['input'] = "検索対象文字列";

フラグについて
g : 繰り返しマッチさせる
i : 大文字・小文字を区別しない
m : 文字列を複数行として扱
[ク]か[リ]か[ー]か[ム]か[パ]か[ン]のどれかがある最初の場所:番目
指定方法:RegExp("[クリームパン]","i");

[クリームパン]が最初にでてきた場所:番目
指定方法:RegExp("(クリームパン)","i");

英字で4文字の組合せの最初の場所と文字:番目 文字は
指定方法:RegExp("[a-z]{4}","i");

[シュークリームかパン]の文字列を取得:文字は
指定方法:RegExp("(シュークリーム)|(パン)","ig");

2文字以上の[U]の最初の場所と文字:番目 文字は
指定方法:RegExp("[U]{2}","i");

MURAが出てきた回数:
指定方法:RegExp("(MURA)","g");

© Company 2012