レッスン 14: すべては条件次第

前述したように、コーディング、会話、そして正規表現においても、正確であることは常に重要です。たとえば、食料品の買い物リストに「もっと .* を買ってきて」と書く人はいません。なぜなら、何を買ってくるのかわからないからです。代わりに、「牛乳をもっと買ってきて」または「パンをもっと買ってきて」と書くでしょう。正規表現では、これらの条件を明示的に定義することができます。

具体的には、グループを使用する場合、 *|* ( *論理 OR、別名パイプ*) を使用して、 *異なる文字の組み合わせ* を表すことができます。上記の例では、「もっと (牛乳|パン|ジュース) を買ってきて」というパターンを書くことで、「牛乳をもっと買ってきて」、「パンをもっと買ってきて」、または「ジュースをもっと買ってきて」という文字列のみにマッチさせることができます。

通常のグループと同様に、条件には任意の文字列やメタ文字を使用できます。たとえば、([cb]ats*|[dh]ogs?) は cats または bats、あるいは dogs または hogs にマッチします。多くの条件を持つパターンを書くのは読みにくくなる可能性があるため、複雑になりすぎる場合は、別々のパターンにすることを検討してください。

以下の小さなふわふわした生き物がいる行のみにマッチする条件付きパターンを書いてみてください。

演習 14: 条件付きテキストのマッチング
タスク テキスト  
マッチ 猫が好きです To be completed
マッチ 犬が好きです To be completed
スキップ 丸太が好きです To be completed
スキップ 歯車が好きです To be completed
解答

論理 OR を使用することで、式 (猫|犬) が好きです を使用して最初の 2 行にマッチさせることができます。しかし、丸太や歯車もかなりクールです。

上記のタスクを解決して次の問題に進みますか、それとも解答を読みますか?