如果多个字符可以包含数字并且下划线最多为128,则正则表达式第一个字符必须是alpha

时间:2016-09-30 14:23:42

标签: java regex

如长标题所示,如果测试字符串只有字符,那么它只能是alpha。但是,如果测试字符串包含多个字符,最多128个字符,那么它仍然必须以字母字符开头,然后允许使用数字和下划线。

这是我到目前为止的正则表达式。 ^([a-zA-Z])|([a-zA-Z][A-Za-z0-9\_]{2,128})$

失败的地方是第二个字符是下划线。

以下是链接:https://regex101.com/r/xzmfRs/1

2 个答案:

答案 0 :(得分:3)

您可以将此正则表达式用于您的问题:

^[a-zA-Z]\w{0,127}$

允许使用一个字母或允许最多128个字符的单词。

\w[a-zA-Z0-9_]

的简写

Updated RegEx Demo

答案 1 :(得分:0)

此模式是匹配(^[a-zA-Z]$)|^([a-zA-Z][A-Za-z0-9\_]{2,128})$