Ios 正则表达式需要接受+;,-&;以前@

Ios 正则表达式需要接受+;,-&;以前@,ios,regex,titanium,Ios,Regex,Titanium,正则表达式需要接受电子邮件验证中的+,-,&需要在@之前接受 ([\w-\.]+)@((?:[\w]+\.)+)([a-zA-Z]{2,4})在此正则表达式中,它不可接受 有谁能给我提供合适的正则表达式吗 例如: 演示+无线邮件&name@gmail.com 这个[\w\.]是一个(我暂时删除了-)。方括号内的每个字符都由此类匹配。因此,您的类正在匹配所有字母、数字和下划线(由\w部分完成)和点 如果需要其他字符,只需将它们添加到字符类,例如[\w.+&-] 小心使用-字符,它在字符类中有特殊含

正则表达式需要接受电子邮件验证中的
+,-,&
需要在
@
之前接受

([\w-\.]+)@((?:[\w]+\.)+)([a-zA-Z]{2,4})
在此正则表达式中,它不可接受

有谁能给我提供合适的正则表达式吗

例如:

演示+无线邮件&name@gmail.com


这个
[\w\.]
是一个(我暂时删除了
-
)。方括号内的每个字符都由此类匹配。因此,您的类正在匹配所有字母、数字和下划线(由
\w
部分完成)和点

如果需要其他字符,只需将它们添加到字符类,例如
[\w.+&-]

小心使用
-
字符,它在字符类中有特殊含义,可以转义它,也可以将它放在开头或结尾

但请注意,您的正则表达式仍然与所有有效电子邮件地址不匹配,请参阅评论中的链接。


在类中编写的单个字符(没有特殊含义)或预定义类没有任何意义,
[\w]
\w

完全相同。使用此选项将对您有所帮助

([\\w-\\.\\+\\-\\&}]+)@((?:[\\w]+\\.)+)([a-zA-Z]{2,4})

NSString *phone=@"demo+wifi-mail&name@gmail.com";
NSString *pNRegex = @"([\\w-\\.\\+\\-\\&}]+)@((?:[\\w]+\\.)+)([a-zA-Z]{2,4})";
NSPredicate *PNTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", pNRegex];
BOOL check=[PNTest evaluateWithObject:phone ];
NSLog(@"%i",check);----> 1

([\w-.+-\&}]+@((?:[\w]+)([a-zA-Z]{2,4})现在它可以工作了

看到了吗:正则表达式改成了([\w-\.\+\-\&}]+)@((?:[\w]+\.)+)([a-zA-Z]{2,4}),现在它可以为我工作了!