次のような入力文字列を取得します。
A BC Y
または
A BCY
つまり、最初の 1 文字を 1 つの文字列として解析し、次の 7 文字を別の文字列として解析し、次の 1 文字を別の文字列として解析し、最後の 1 文字を別の文字列として解析する必要があります (これは入力ではオプションです)。つまり、入力行の長さは 9 文字または 10 文字にすることができます。これを解析して 4 つの文字列を取得することになっています。
後でこれらの文字列をデータベースに入れ、さらに処理を行います。
私は次のような正規表現を使用しています
s/(.{1})(.{7})(.{1})(.{1})/
そして、この値を 4 つの変数にコピーします。
しかし、問題は、行の長さが正確に 10 文字の場合 (最後の文字がある場合) にのみ機能することです。
長さが 9 文字 (最後のオプションの文字Y
がない) の場合、正規表現は行と一致しないため、解析は行われません。
簡単に言えばregex
、最後の1文字を解析用にオプションに変更するにはどうすればよいですか。
前もって感謝します。
PS: 質問は専門家にとって非常に些細なことに聞こえるかもしれませんが....