如何在matches()函数(java)中正确使用正则表达式?

时间:2017-03-29 04:41:49

标签: java regex overlapping-matches

我正在尝试在Java中创建一个注册表单,该表单接受以下形式的字符串:ok@ok.ok,现在,我有 -

(email.matches("[^a-zA-Z0-9]+")

我需要它也接受@, _,-,.符号,但我不确定如何将它添加到前面显示的正则表达式中。

除此之外,我知道有一种方法可以分开接受一定数量的字符,然后读取一个特定的符号,(在我的情况下,它将是" @"和&# 34;。"对于电子邮件)但我无法实现它,这是

的内容
(email.matches("[^a-zA-Z0-9]{1-99}[1][@][^a-zA-Z0-9]{1-99}[1][.][^a-zA-Z0-9]+")

谢谢

1 个答案:

答案 0 :(得分:0)

您可以尝试以下方法:

[^@]+@[^.]+\\..+

说明:

[^@]+ - match everything up until the @ character
@     - match the @ character
[^.]+ - match everything up until the . character
\\.   - match the . character
.+    - match the rest

如果您想访问电子邮件地址的不同部分,即@符号之前和之后提供的内容,您还可以在括号中包含表达式的这些部分(在上下文中搜索“groups”)正则表达式,以了解更多关于那个)。