Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 用于过滤电子邮件、数字和重复键入的正则表达式_Java_Regex_Jsf_Regex Negation - Fatal编程技术网

Java 用于过滤电子邮件、数字和重复键入的正则表达式

Java 用于过滤电子邮件、数字和重复键入的正则表达式,java,regex,jsf,regex-negation,Java,Regex,Jsf,Regex Negation,我正在尝试验证JSF项目中的输入,并尝试创建一个正则表达式来匹配任何不应包含以下内容的字符串: (1) 字符串,如@、com、yahoo、hotmail、gamil、googlemail (2) 任何数字 (3) 同一个字母重复三次或三次以上 print "good" if $string !~ /@|com|yahoo|hotmail|gmail|googlemail|\d+|(\pL)\1\1/; 另见 应该注意,这是perl,我的第一个解决方案不起作用 $str !~ /(@|(\w)\

我正在尝试验证JSF项目中的输入,并尝试创建一个正则表达式来匹配任何不应包含以下内容的字符串:

(1) 字符串,如@、com、yahoo、hotmail、gamil、googlemail

(2) 任何数字

(3) 同一个字母重复三次或三次以上

print "good" if $string !~ /@|com|yahoo|hotmail|gmail|googlemail|\d+|(\pL)\1\1/;
另见
应该注意,这是perl,我的第一个解决方案不起作用

$str !~ /(@|(\w)\2\2|com|yahoo|gmail|hotmail|googlemail|\d)/
由于它现在被标记为jsf而不是perl,因此这是自2.0以来jsf核心的一部分:

 <f:validateRegex pattern="@|(\w)\1\1|com|yahoo|gmail|hotmail|googlemail|\d"/>

将其放入要验证的标记中

\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b .
我声称,这个正则表达式匹配任何电子邮件地址

([0-9]*)
这是为任何数字。独家新闻是为分组

有关更多信息,请访问:

有关在线测试,请访问:

强烈建议,当你提出问题时,还应包括在你无法承受挫折之前尝试过的内容,并在此处提出你的问题:保持问题“简短而甜蜜”是错误的想法吗?这可以如何使用?哪里这是PHP代码还是其他代码?一定要启发我们!!顺便说一句,你把gmail拼写为
gamil
@Pranav Hosangadi:当我发布答案时,这个问题有标签
Perl
。这是J.F.Sebastian上面答案的简单副本。它不能解释任何事情。我相信Stackoverflow对解决方案的作用和它的作用同样重要。当我在手机上发布这个问题时,我没有看到任何其他答案,并且打算添加更多信息,但突然轮到我去理发店了。塞巴斯蒂安在这一点上领先了你1分钟:)那就是剽窃。此外,SO的意图可能是好的,但声誉系统并不那么好用。任何人都可以发布一个半途而废的解决方案,然后将其他人的解决方案烘焙到自己的解决方案中,并将其标记为答案。声誉可以扩展您的电子喷丸,这是一个很好的激励因素。这显然不是10k+用户的情况,但您会在<1000段..++.++.+\.[a-z]+中找到很多用户。对于电子邮件,请参见示例:Pattern p=Pattern.compile(“.++.+\.[a-z]+”);