ORACLE 正则表达式匹配具有两个或更多字符的电子邮件域
ORACLE regex Match email Domain with two or more characters
我需要能够接受只有两个或更多字符的电子邮件域,如下所示:
用我实际的正则表达式,我只用一个字符验证域,比如 a@b.com.
@([A-Z0-9]+(-[A-Z0-9]+)*\.){1,8}[A-Z]{2,63}$
预期结果:
"a@b.com" Not valid (just one char after @)
"a@bb.com" Is Valid (two chars after @)
"a@b-domain.com" Is valid (two or more chars after @)
我只需要更改我的正则表达式以允许以至少 2 个字符开头的域。
谢谢。
作为上一期 previous question 中的建议,您可以使用
@([A-Z0-9]+-)*[A-Z0-9]{2,}\.[A-Z0-9]{2,63}$
@
字面匹配
([A-Z0-9]+-)*
0+ 重复 1+ 个字符 A-Z0-9 后跟 -
[A-Z0-9]{2,}
匹配 2 次或更多次 A-Z0-9
\.[A-Z0-9]{2,63}
匹配一个点和2-63次A-Z0-9
$
字符串结束
要允许使用连字符或下划线,您可以使用字符 class:
@([A-Z0-9]+[_-])*[A-Z0-9]{2,}\.[A-Z0-9]{2,63}$
我需要能够接受只有两个或更多字符的电子邮件域,如下所示:
用我实际的正则表达式,我只用一个字符验证域,比如 a@b.com.
@([A-Z0-9]+(-[A-Z0-9]+)*\.){1,8}[A-Z]{2,63}$
预期结果:
"a@b.com" Not valid (just one char after @)
"a@bb.com" Is Valid (two chars after @)
"a@b-domain.com" Is valid (two or more chars after @)
我只需要更改我的正则表达式以允许以至少 2 个字符开头的域。
谢谢。
作为上一期 previous question 中的建议,您可以使用
@([A-Z0-9]+-)*[A-Z0-9]{2,}\.[A-Z0-9]{2,63}$
@
字面匹配([A-Z0-9]+-)*
0+ 重复 1+ 个字符 A-Z0-9 后跟-
[A-Z0-9]{2,}
匹配 2 次或更多次 A-Z0-9\.[A-Z0-9]{2,63}
匹配一个点和2-63次A-Z0-9$
字符串结束
要允许使用连字符或下划线,您可以使用字符 class:
@([A-Z0-9]+[_-])*[A-Z0-9]{2,}\.[A-Z0-9]{2,63}$