プロが教える店舗&オフィスのセキュリティ対策術

ネットでも、問題が見られるようなので今回は問題文は省かせてもらいます。
(お手数かけますが、ネットで検索の上ご覧ください。
申し訳ないです。)

本題にはいります。
気になっているのが、この最後の部分の回答です。
私の持っている参考書にも答えが「ウとエ」となっているのですが、コレはどういう事なのでしょうか?
正規表現による「..(0(1|2)\-)+.1」の検索結果に、当てはまるもの。
簡単に考えても
..01-01-.1 or ..01-02-.1 or ..02-02-.1 or ..02-01-.1
の4通りしか当てはまらないと思うのです。
()+の()の中の選択は統一されるべきならば、さらに絞られ2通りしか考えられないと思うのです。

答えの「ウ」は納得できるのですが、「エ」はなぜ?
エ→2002-11-10 ですが、最後の部分も含め当てはまらないと思うのですが。。。

複雑で私的な質問ですが、よろしくお願いします。

A 回答 (2件)

+は直前の文字、またはパターンの1回以上の繰り返しですよね?


ということは、(0(1|2)\-)の部分が一回でも出ればいいわけです。
そこの部分を02-と一回だけ登場させます。
そうすると2002-.1になりますよね?
そして.の部分に1を入れてやれば抽出条件として、2002-11とでき、エも抽出されます。
分かりづらい説明ですみません・・・
    • good
    • 0
この回答へのお礼

なるほど、すべての部分ではなく一部分が該当すればいいということなのですね。

ありがとうございました。

お礼日時:2006/04/11 00:35

私も「ウ」だけとしか思えません。


質問者さんと同じ理由です。
「2001-01」「2001-02」「2002-01」「2002-02」の
4通りを許すと考えても答えは1つですよね。

でも↓のように「ウ」→「ウ、エ」に訂正している解説も有るのでわけが分かりません。

参考URL:http://www.gihyo.co.jp/books/support.php/4-7741- …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!