Laravelを使って、入力フォームを作成しています。
バリデーションのルールで正規表現を使って、4桁の数字、または空欄を指定して、入力チェックを行いたいのですが、regexを指定した時点で空欄がバリデーションに引っかかってしまいます。

例えば、

$rules = [
    'value1' => ['regex:/^\d{4}$/'],
    'value2' => ['regex:/^(\d{4})?$/']
    'value3' => ['regex:/^(\d{4}|\s*)$/'],
    'value4' => ['regex:/^(\d{4}|\n*)$/'],
    'value5' => ['regex:/^(\d{4}| *)$/']
];

このような方法は試しましたが、空欄で送信するとバリデーションに引っかかります。
この他にも考えられる方法は試してみましたが、出来ません。
そもそもregexを設定した時点で空欄も無効になっている気がします。

'value' => ['regex:/\s*/']

ちなみに\dを抜いて、↑のような方法や

'value' => ['regex:/.*/']

↑も試しましたが、両記とも全角スペースだと通りますが、半角スペース、空欄の場合はダメでした。

どのように設定すれば良いのでしょうか?