1

字符串以字符开头,后跟数字(字符和数字都可以为空),但总长度不应超过8。

我的解决方案是

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

似乎总长度 8 不能工作,所以怎么做

4

2 回答 2

2

要使用正则表达式检查字符串的长度,您可以使用前瞻机制并(?=^.{0,8}$)在正则表达式的开头添加。^是代表数据开始的锚点,$代表结束。

但在你的情况下,我可能会使用类似的东西

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

它会接受

  • 空字符串,
  • 字符串开头仅包含一个字母,最多包含 7 位数字。
于 2013-03-29T18:52:21.630 回答
0

我认为这会奏效([a-zA-Z]|[0-9]){0,8}

如果没有尝试使用这个工具gskinnerwww.rubular.com

于 2013-03-29T19:02:00.897 回答