1

文字列は文字で始まり、その後に数字が続きます (文字と数字の両方を空にすることができます) が、合計の長さは 8 を超えてはなりません。

私の解決策は

([a-zA-Z]*[0-9]*){0,8}

全長8は無理みたいなのでどうしよう

4

2 に答える 2

2

正規表現で文字列の長さを確認するには、先読みメカニズムを使用して、正規表現の先頭に追加(?=^.{0,8}$)します。^アンカーはデータの始まりを$表し、終わりを表します。

しかし、あなたの場合、私はおそらく次のようなものを使用します

someString.matches("^(|[a-zA-Z]\\d{0,7})$")

それは受け入れます

  • 空の文字列、
  • 先頭が 1 文字で最大 7 桁の文字列。
于 2013-03-29T18:52:21.630 に答える
0

これはうまくいくと思います([a-zA-Z]|[0-9]){0,8}

このツール gskinner または www.rubular.com を使用しようと ない場合

于 2013-03-29T19:02:00.897 に答える