3.(7)about1.正規表現とはなにか?端的に言えば、「いくつかの文字列を一つの形式で表現するための表現方法」です。この表現方法が有名なのかといえば、この表現方法を利用すれば、たくさんの文章の中から容易に見つけたい文字列を検索することができるためです。?9[85]って感じで一行で書けちゃうっていうかぁ...あ、つい、口調が移ってしまった(^_^;)...書けるのであります。慣れればこれほど便利な方法はありませんが、ただ、ちょっと難しそうに見えます。正規表現とは、前に説明しましたように、「いくつかの文字列を一つの形式で表現するための表現方法」です。その「一つの形式で表現するため」に、いくつかのある文字に対して特別な意味を与えています。以下に述べる文字がその役割を担っています。)これらの特殊文字を正規表現では、「メタ文字」と呼んでいます。「メタ」というのは、「超」と言う意味で、あの「チョーむかつく」の「チョー」と同じ意味です。普通の文字以上の意味を含んでいるという意味になるかと思います。これらのメタ文字は文字としてもよく見受けられる文字ですよね。そこに問題があります。私たちはおおっぴらにすることをはばかって以下のような書き方をしたりします。*というメタ文字が*そのものを意味していないからなのです。私なんかもよくそれを忘れていて、「なぜ誤検索するんだろう」と悩むことがよくあります。このメタ文字を単なる普通の文字として検索したい場合は、それらメタ文字の前に、\を付加しなければなりません。自体は、\\と書きます。3.メタ文字の種類では、メタ文字を種類ごとに解説していきます。以下、具体例で示していきます。わかりやすくするため大きな文字を使用していますが、メタ文字はすべて半角です。.を使用すると、なんでもいい1文字を表現することができます。私は0ですつまり、下線の文字の部分がなんでもいいことになります。「正規表現」の書きかたひとつで、「検索できる文字列の例」がすべて検索できるということです。これを応用してみます。.を繋げることでいろんな表現が可能になるのがおわかりになるでしょう。そのものを検索したい場合がありますね。検索したい場合などですね。TEST.LOGつまり、.の前に\を付けることで、.を正規表現の.ではなくて、単なるひとつの文字のとしての.という意味に変えることができるのです。$行の先頭や最後にのみ存在する文字列を検索したい場合があります。例1今日はありがとうございました。よって検索すると、合致するのは例2だけとなります。行の先頭を意味します。この「正規表現」の場合は、行の先頭に存在する「ありがとう」の文字しか検索しないのです。が行の終わりを意味します。この例では行の終わりにある「ありがとう」しか検索しません。合致するのは、例3だけとなります。すると、「ありがとう」の文字だけのある行に合致します。これからもおわかりのように、^は正規表現の先頭、$は終端のものしかメタ文字として認識されません。直前の文字がないか、直前の文字が1個以上連続するという意味になります。おーーーーいなどと同等の意味になります。直前の文字がなんであろうと関係なく、「ー」の後の文字がまったくなくて「い」が来ているか、どんな文字でもいいから、1個以上の文字が「ー」の後に続いて、最後に「い」が来ているかが問題になります。直前の文字がないといけません。後は、それが連続するという意味になります。場合は、直前の文字がまったくないか、1つだけあるという意味です。Windowと言う風に、単数形と複数形のどちらでも合致させたい場合に利用できます。半角のスペースがあります。98と言う風に、スペースがあるかどうか不明の文字列を検索する場合にも利用できます。違うので、その違いを理解して下さい。併用することができます。