为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

梵蒂冈之花 2022-06-23 20:39:51
我需要一个接受所有字母(小写和大写)、数字和这些字符/符号('-'、'_'、'@'、'.')的正则表达式。它不需要采用电子邮件地址的形式。字符可以位于单词中的任何位置。它也不应该接受空格,并且字长必须是 8 或更多。这就是我到目前为止所拥有的。^(?=\S{8})[a-zA-Z]\w*(?:\.\w+)*(?:@\w+\.\w{2,4})?$
查看完整描述

3 回答

?
holdtom

TA贡献1805条经验 获得超10个赞

您可以使用以下正则表达式:

^[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,}";


查看完整回答
反对 回复 2022-06-23
?
慕勒3428872

TA贡献1848条经验 获得超6个赞

[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 上试用。


查看完整回答
反对 回复 2022-06-23
?
慕森王

TA贡献1777条经验 获得超3个赞

这是字母数字字符的另一种形式:

^[[:alnum:]._@\-]{8,}$


查看完整回答
反对 回复 2022-06-23
  • 3 回答
  • 0 关注
  • 105 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信