正则表达式,仅包含小写或大写字符或两者,用于用户名验证

Mel*_*lon 2 java regex

为了验证我的字符串,我需要字符串只包含小写或大写或两种情况混合字符从A(a)到Z(z),字符串长度应该在6到12个字符长的范围内.这种约束的正则表达式是什么?

tch*_*ist 6

你可以使用这个正则表达式:

^[\p{Lu}\p{Ll}\p{Lt}]{6,12}$
Run Code Online (Sandbox Code Playgroud)

如果你不想因为被命名为François,María或Fuß而惩罚人们.

当然,Java中字符串的长度不是很清楚,特别是在这里,因为PatternMatcher类只处理代码点中的长度(逻辑Unicode字符),而不是Java内置字符串的长度,但非常具有超灵性命名的char单位(物理16位UTF-16).

这意味着,与正则表达式引擎相比,具有代理项的字符串似乎与许多其他Java类具有不同的长度.

正则表达式引擎正确,BTW.