1. ホーム
  2. regex

[解決済み] 有効な年号をテストするための正規表現によるマッチング

2022-12-08 12:01:51

質問

ある値が与えられたとき、それが有効な年であるかどうかを検証したいのです。私の基準は単純です。 4 文字で構成される整数であることです。これは最良の解決策でないことは分かっています。 1000 のような年を許可してしまい 5000 . この基準は、私の現在のシナリオには十分です。

私が思いついたのは

\d{4}$

これは動作しますが、負の値も許容します。

正の整数のみを許可するようにするにはどうしたらよいですか。

どのように解決するのですか?

開始アンカーを追加する必要があります。 ^ としてください。

^\d{4}$

あなたの正規表現 \d{4}$ は文字列 で終わる4桁の . そのため、以下のような入力は -1234 のような入力も受け付けます。

開始アンカーを追加することで、以下の文字列のみにマッチします。 で始まる文字列と で始まる文字列、つまり4桁の数字しか含まれていない文字列にマッチします。