3
私はコードの形式を検証する必要がある学校のプロジェクトに取り組んでいます。書式は3桁の大文字3桁で、少なくとも1桁は0ではないので、ABC001が有効です。 ABC000は無効です。Javaのコード形式を確認してください
私が立ち往生しているのは、001-999が有効な間に000が無効になるように数字を検証するためのフォーマットを書く方法です。以下はコードですが、000が有効になるように現在書かれています。
public static boolean validateInvoiceCode(String invoiceCode)
{
return invoiceCode.matches("[A-Z][A-Z][A-Z][0-9][0-9][0-9]");
}
ルックアヘッドでルックバックを選択した理由は何ですか?ちょっと興味があるんだけど。 – shmosel
@shmoselそのようにすれば、入力に数字がまったくない場合は早く失敗します。ブラックリストに[この場合](http://stackoverflow.com/a/38841776/5743988)のように、拒否する入力が2つ以上ある場合に便利です。 – 4castle