Java中是否存在允许字母数字字符(大写和小写),必须以字母开头,可以以字母或数字结尾并且中间还包含连字符的正则表达式?
我有^ [a-zA-Z] [A-Za-z0-9-] $,但不确定是否适用于所有情况。
答案 0 :(得分:1)
^[A-Za-z]([A-Za-z0-9-]*[A-Za-z0-9])?$
^[A-Za-z]
:以字母开头(...)?$
:可以选择跟在该组之后,并以该组结尾[A-Za-z0-9-]*
:任意数量的字母,数字和连字符[A-Za-z0-9]
:一个字母或数字您需要第2点,否则您会错过单字母序列,这些序列也可以根据您的描述有效
使用Python,我可以这样做:
(?i)^[a-z]([a-z\d-][a-z\d])?$