制作接受所有字母和一系列字符的正则表达式的正确方法是什么?

我需要一个接受所有字母(小写和大写)、数字和这些字符/符号('-'、'_'、'@'、'.')的正则表达式。它不需要采用电子邮件地址的形式。字符可以位于单词中的任何位置。它也不应该接受空格,并且字长必须是 8 或更多。

这就是我到目前为止所拥有的。

^(?=\S{8})[a-zA-Z]\w*(?:\.\w+)*(?:@\w+\.\w{2,4})?$


梵蒂冈之花
浏览 106回答 3
3回答

holdtom

您可以使用以下正则表达式:^[a-zA-Z0-9_@.-]{8,}$细节^- 字符串的开始[a-zA-Z0-9_@.-]{8,}- 8 个或更多 ASCII 字母、数字.、、、_或@-$- 字符串结束。请参阅正则表达式演示。注意\w在 Android 中,它默认匹配所有 Unicode 字母和数字(但在 Java 中不匹配)。在 Android/Java 中,当与 一起使用时.matches(),您可以删除^和$锚点,因为此方法需要完整的字符串匹配:String regex = "[a-zA-Z0-9_@.-]{8,}";

慕勒3428872

[a-zA-Z._@\d-]{8,}应该做的伎俩。有了额外的边界,那就是^[a-zA-Z._@\d-]{8,}$.^               Beginning of the line[a-zA-Z._@\d-]  Group of the characters a-z, A-Z and ., -, _, @ as per your question as well as numbers (\d){8,}            8 to unlimited times$               End of the word您可以在此处的 regex101.com 上试用。

慕森王

这是字母数字字符的另一种形式:^[[:alnum:]._@\-]{8,}$
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java