次のルールに一致させたい:
- 数字の先頭に1つのダッシュが許可されます。
- 0から9までの値のみを許可する必要があります。
現在、次の正規表現パターンがあります。ルールに従わない一致を見つけたときに例外をスローできるように、逆を一致させています。
[^ -0-9]
このパターンの欠点は、文字列の中央にあるハイフンが引き続き通過することを除いて、すべての場合に機能することです。例えば:
「-2304923」は正しく許可されていますが、「9234-342」も許可されているため、許可されるべきではありません。
最初の文字を[^-0-9]、残りの文字を[^0-9]に指定する方法を教えてください。ありがとう!