字符串以字符开头,后跟数字(字符和数字都可以为空),但总长度不应超过8。
我的解决方案是
([a-zA-Z]*[0-9]*){0,8}
似乎总长度 8 不能工作,所以怎么做
要使用正则表达式检查字符串的长度,您可以使用前瞻机制并(?=^.{0,8}$)
在正则表达式的开头添加。^
是代表数据开始的锚点,$
代表结束。
但在你的情况下,我可能会使用类似的东西
someString.matches("^(|[a-zA-Z]\\d{0,7})$")
它会接受
我认为这会奏效([a-zA-Z]|[0-9]){0,8}
如果没有尝试使用这个工具gskinner 或www.rubular.com