最長一致
一番、長いのを選ぶよ
簡単に書くよ
最長一致(読:サイチョウイッチ 英:longest match)とは
「条件を満たすものが複数あったら、一番長いやつを選びますよ!」な やり方
です。
詳しく書くよ
サクっと一言で説明すると
該当するものが複数あったときは一番長いのを選ぶやり方
が「最長一致」です。
サクっと一言で説明されても分からないですよね。
大丈夫です。
例を挙げて説明します。
例えば、そうですね。
まずは以下の文章を読んでください。
ピヨ太君はケーキを10個食べた。ピヨ子さんはケーキを20個食べた。
読みましたか?
それでは問題です。
この文章において、最初に出てきた数字を教えてください。
実は、この問題の答えは解釈次第で2つあり得ます。
それは
1.「1」
2.「10」
の2つです。
文章を1文字ずつ順番に見ていくと、最初に出てくる数字は「1」です。
「ピ」「ヨ」「太」「君」「は」「ケ」「ー」「キ」「を」「1」ですからね。
これが
1.「1」
の解釈です。
とはいえ、普通に読めば、最初に出てくる数字は「ケーキを10個」の「10」でしょう。
これが
2.「10」
の解釈です。
さて、この2つの解釈は、どちらが正しいのでしょうね?
答えは
どちらも正しい
です。
そのため、答えを1つに絞りたければ、どちらかに決めてあげる必要があります。
「どっちも正しいけど、今回は、こっちが答えってことにするね!」です。
この決めの問題において、より長い方を答えと見なすやり方が最長一致です。
今回の例であれば
2.「10」
の方を答えと見なすやり方です。
あと、ついでなので書いておくと、最長一致の逆、より短い方を答えと見なすやり方を「最短一致」と言います。
気が向いたらセットで覚えてあげてください。
最長一致:条件を満たすものが複数あったら、一番長いものを選ぶ
最短一致:条件を満たすものが複数あったら、一番短いものを選ぶ
です。
これで最長一致(と最短一致)の大雑把な説明は終わりですが、せっかくなので、もう一例、見ておきましょう。
以下の文章を見てください。
ピヨピヨカンパニーの社長(ピヨ太君)が秘書(ピヨ子さん)に怒られた。
それでは、問題です。
この文章の中から、カッコで囲まれた部分を抜き出してください。
この問題の答えも解釈次第で2つあり得ます。
それは
1.「ピヨ太君」と「ピヨ子さん」
2.「ピヨ太君)が秘書(ピヨ子さん」
の2つです。
普通に文章を読めば、カッコに囲まれている部分は2か所あります。
「(ピヨ太君)」の部分と「(ピヨ子さん)」の部分です。
これが
1.「ピヨ太君」と「ピヨ子さん」
の解釈です。
一方で「(ピヨ太君)が秘書(ピヨ子さん)」の部分で1つの大きなカッコ囲みだと解釈することもできます。
これが
2.「ピヨ太君)が秘書(ピヨ子さん」
の解釈です。
この2つの解釈のうち
2.「ピヨ太君)が秘書(ピヨ子さん」
と解釈するのが最長一致です。
もう一方の
1.「ピヨ太君」と「ピヨ子さん」
と解釈するのが最短一致です。
「最長一致」や「最短一致」といった用語は、正規表現の話で よく出てきます。
最長一致として扱われるか最短一致として扱われるかで結果は大きく変わります。
ご注意ください。
一言でまとめるよ
まぁ「最長一致」って単語が出てきたら「条件を満たすものの中から一番長いのを選ぶやり方なんだな~」と お考えください。






