我目前使用下面的正则表达式的Java正则表达式:我需要
^[a-zA-Z]{0,}(\\*?)?[a-zA-Z0-9]{0,}
检查字符串在任何地方开始以字母字符和字母数字字符结束并且有星号(*)字符串,但最多只有一次。这里的问题是,如果给定的字符串仍然通过,如果它以数字开头但没有*,则应该失败。我该如何重写正则表达式才能使这种情况失败?
ex。
TE - pass *TE - pass TE* - pass T*E - pass *9TE - pass *TE* - fail (multiple asterisk) 9E - fail (starts with number)
编辑: 对不起引进后期编辑,但我还需要确保字符串为8个字符以内,我可以包括在正则表达式中呢?或者我应该检查正则表达式验证后的字符串长度?
我只是检查验证之前或之后的长度。 – 2011-04-08 19:47:08