下面提到的正则表达式用于验证Java中的用户输入。
username.matches("^\\p{L}+[\\p{L}\\p{Z}.']+")
正则表达式对于一个以上的字符输入是有效的,但对于单个字符输入则失败。
由于’+’表示一个或多个字符,我困惑于如何支持一个字符输入作为有效输入。
解决方案:
你的正则表达式会匹配2个或更多的符号。原因是,这是符号一(或更多)。
\\p{L}+
而这是符号二(或更多)。
[\\p{L}\\p{Z}.']+
最有可能的是,你希望最后一部分是 “0或更多”,像这样。
"^\\p{L}+[\\p{L}\\p{Z}.']*"
本文来自投稿,不代表运维实战侠立场,如若转载,请注明出处:https://www.shizhanxia.com/657.html