問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!
引き続き正規表現のルールを見ていきましょう。
〈正規表現のルール 3.〉ピリオド (ドット) .
は、任意の 1 文字を表す
正規表現では、通常の文字列の他に、さまざまなパターンを表現することができます。最も基本的なのが、ピリオド .
です。ピリオドは、任意の 1 文字を表します。例えば、h.t
という正規表現は、hat
や hit
, hot
など、h
と t
の間に任意の 1 文字が入る文字列を表します。
ピリオドは複数続けることもでき、例えば ..間
という正規表現には、桶狭間
や 大広間
、三遊間
などの文字列があてはまります。
文字列 S が与えられるので、正規表現を用いて、文字列 S において以下のパターンが何文字目から出現するかを求めてください。
パターン: 文字列 p
の後に任意の 1 文字が 2 回続き、その後に文字列 za
が続く
ただし、検索対象のパターンが複数回出現する場合は、最初に出現する位置を出力してください。
また、文字列の先頭の位置を 0 として、各文字の位置を左から順に 0, 1, 2, ... とします。
s
文字列 S において、パターンが最初に出現する位置を整数で 1 行で出力してください。
また、末尾に改行を入れ、余計な文字を含んではいけません。
すべてのテストケースにおいて、以下の条件をみたします。
・ S は ASCII 文字 (半角英数字記号) で構成される 1000 文字以下の文字列
・ S には、指定されたパターンが必ず 1 回以上出現する
ponanza pizza paiza
8