どの一文字でもいい

よみもの+手を動かす時間:およそ20分

「ねこ」と「ねず」を、いっぺんに

前のレッスンの種を回収します。「ねこ」と「ねずみ」の「ねず」を、一度の検索でまとめてさがしたい。つまり、「ね」のあとの1文字はなんでもいいと言いたい。

そのための記号が .(ピリオド)です。もように . と書くと、そこにはどの1文字でも当てはまります。

当てはまった場所 — 3か所
ねこと、ねずと、ね。

「ねこ」「ねず」が塗られました。ここで、もようがはじめて「特定のことば」をやめて、ことばのかたちになりました。「ね+なにか1文字」というかたちです。

ゆるすぎる、という問題

上の実験室をよく見てください。「ね。」まで塗られています。. は本当にどの1文字でもいいので、句点の「。」まで拾ってしまいました。

便利な記号は、たいてい少しゆるすぎます。「なんでもいい」ではなく「この中のどれか」と候補をしぼりたい——そのための記号が [ ] です。もようを ね[こず] に書きかえてみてください。

[こず] は「『こ』か『ず』の、どちらか1文字」という意味です。[ ] の中に並べた文字が候補になり、候補の中の1文字だけに当てはまります。「ね。」は塗られなくなったはずです。

範囲——「0から9のどれか」

候補が「0、1、2……9」のような連続した並びなら、ぜんぶ書かなくても -(ハイフン)で範囲が書けます。[0-9] は「0から9の、どれか1文字」です。

当てはまった場所 — 2か所
3月のつぎは12月でした

「3月」が塗られて——もうひとつ、変なものが塗られています。「12月」の**「2月」の部分**です。[0-9] は1文字にしか当てはまらないので、「12」は拾えず、読み手は「2月」で手を打ちました。誠実な読み手は、こちらの「12月もさがしたいに決まってる」という気持ちを汲みません。この穴は、次のレッスンの「くりかえし」でふさぎます。

記号を、ただの文字に戻す

新しい問題がひとつ生まれています。. が「なんでも1文字」の記号になったせいで、ピリオドそのものがさがしにくくなりました。

当てはまった場所 — 3か所
3月14日。円周率は3.14、おまけに3514

円周率のつもりで 3.14 と書いたら、「3月14」と「3514」まで塗られました。. の位置に「月」や「5」が当てはまったからです。こういうときは、記号の前に \(バックスラッシュ)を置きます。\. は「記号としての . ではなく、ただの文字としての .」という意味です。もようを 3\.14 に直すと、円周率だけが塗られます。

\ は、にわ語の「とよぶ」のような意味を切りかえる合図です。これから記号が増えるたび、「その記号そのものをさがしたいときは \ を前に置く」と思い出してください。

演習:かたちでさがす

本文を 31日と1日と8日と13日 にして、ひとり立ちした「1日」と「8日」だけを塗るもようを考えてください。

  1. まず .日 で試して、なにが塗られるか観察する
  2. つぎに [18]日 にしてみる。まだ余計なものが塗られているはず
  3. 「と」も、もように入れてみる
ヒント1(考え方)

[18]日 でも「31日」のしっぽの「1日」が塗られてしまいます。もようには、さがしたいものの「まわりの文字」も入れられます。

こたえ(のひとつ)

と[18]日 なら「と1日」「と8日」の2か所だけが塗られます。前の「と」ごとつかまえることで、「31日」のしっぽを締め出したわけです。ただしこの手は、さがしたい日付が本文の先頭に来ると使えません。レッスン4で、もっときれいな道具——「はじまり」と「おわり」のしるし——が手に入ります。

このレッスンで分かったこと

  • .どの1文字でもに当てはまる。便利だが、ゆるい
  • [ ]候補の中の1文字[0-9] のように範囲も書ける
  • [^ ] は反転——「これら以外の1文字」
  • 記号そのものをさがすときは \ を前に置いて、ただの文字に戻す