uuidのバリデーションチェックをする正規表現(bashシェルスクリプト編) | 瀬戸内の雲のように

uuidのバリデーションチェックをする正規表現(bashシェルスクリプト編)

Posted: 2019-04-18


スポンサーリンク

目次

はじめに

近年のシステムでユニークIDとしてよく使われるのがUUIDです。
今回はbashでこのフォーマットに沿っているかをチェックする正規表現を調べたのでメモしておきます。

 

背景

私が担当しているシステムで運用スクリプトを作る必要があったのですが、そこで管理しているIDがuuid形式でした。
正しいフォーマットのパラメータが渡されていることをチェックする必要があるのですが、「正規表現でできないか?」と考えて調べました。

 

チェックする正規表現

早速ですが結論です。以下の正規表現でチェックできます。

[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}

 
ちなみに、uuidにはハイフンなしの場合もあるようで、その場合は

[0-9a-f]{32}

でOKです。

 

シェルスクリプトに組み込む場合

先ほどの正規表現をif文に組み込むことでチェックできます。

if [[ "${比較する文字列}" =~ [0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12} ]] ;then
    入れたい処理
fi

 
ちなみに [[ ]] のようにカッコを2個付けることでif文に正規表現を使うことができます。

以上、bashの正規表現を使ってuuidの形式をチェックする方法でした。

 

最後に

「コードが書けるだけでは大学生レベル、異常系の処理ができて初めてプロレベルだ!」と言うことらしいので(先輩談)、社会人としてしっかり異常系処理も入れていきましょう。


スポンサーリンク




コメント一覧


コメントを投稿する


お名前


コメント内容





TOP back