次のいずれかで構成される正規表現の数字のグループを照合しようとしています。
1,2,3,4,5,6,7,8,9,10,11
しかし、正規表現を理解するのに苦労しています。
1 桁の場合、このパターンは "0|1|2|3|4|5|6|7|8|9" で問題なく機能しましたが、2 桁の数字では失敗します。たとえば、正規表現が 12 分の 1 を見つけるため、12 は OK として渡されます。
次のいずれかで構成される正規表現の数字のグループを照合しようとしています。
1,2,3,4,5,6,7,8,9,10,11
しかし、正規表現を理解するのに苦労しています。
1 桁の場合、このパターンは "0|1|2|3|4|5|6|7|8|9" で問題なく機能しましたが、2 桁の数字では失敗します。たとえば、正規表現が 12 分の 1 を見つけるため、12 は OK として渡されます。
begin アンカーと end アンカーを使用して、文字列全体を強制的に一致させることができます。
^(0|1|2|3|4|5|6|7|8|9|10|11)$
これは次のように短縮できます。
^(\d|10|11)$
これは、 0 から 11までの数字が1 つだけかどうかを確認する場合に機能します。
^[0-9]$|^1?[0-1]$
次のような文字列に一致させたい場合:
1,2,3,12,32,5,1,6,8, 11
0-11 に一致する場合は、次を使用できます。
(?<=,|^)([0-9]|1?[0-1])(?=,|$)
この正規表現を使用します^(0|1|2|3|4|5|6|7|8|9|(10)|(11))$