質問: お忙しいところご覧いただき、ありがとうございます! Pythonの正規表現に詳しい方、ご教授いただけますと幸いです。 下記のようなコードがあります。 英字・数字が続く品番を取得したいためです。 r'[A-Z]{2,3}-[0-9]{2,3}|[A-Z]{2,3}[0-9]{2,3}' そこで、 1.大文字・小文字を区別しないで取得する方法はございますか。 2.4文字続く場合も拾いたい場合、どうすればよいでしょうか。 例えば、r'[A-Z]{2,3,4}-[0-9]{2,3,4}|[A-Z]{2,3,4}[0-9]{2,3,4}'にしたり、 r'[A-Z]{2-4}-[0-9]{2-4}|[A-Z]{2-4}[0-9]{2-4}'にするとうまく取得できません。 よろしくお願いいたします。
回答: > > 1.大文字・小文字を区別しないで取得する方法はございますか。 > > > `[a-zA-Z]` で大文字または小文字のアルファベット1文字を表す正規表現になります。 > > 4文字続く場合も拾いたい場合、どうすればよいでしょうか。 > > > `{}` の指定方法ですが、 `[a-zA-Z]{,2}`: 2文字以下のアルファベット `[a-zA-Z]{1,3}`: 1文字以上3文字以下のアルファベット `[a-zA-Z]{4,}`: 4文字以上のアルファベット `[a-zA-Z]{4}`: 4文字のアルファベット 上記を組み合わせて正規表現を作ってみてください 正規表現:数字の桁数、数字の範囲を指定する表現 | WWWクリエイターズ