Ios 如何添加“&引用;在正则表达式中发送目标c中的多封邮件
我是iOS新手,在正则表达式中添加Ios 如何添加“&引用;在正则表达式中发送目标c中的多封邮件,ios,objective-c,regex,xcode,Ios,Objective C,Regex,Xcode,我是iOS新手,在正则表达式中添加,时遇到了问题 我的代码是这样的 NSString *emailRegEx = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,100}"; NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegEx]; 如果我在正则表达式应用程序中添加,,则会导致崩溃 NSString *e
,
时遇到了问题
我的代码是这样的
NSString *emailRegEx = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,100}";
NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegEx];
如果我在正则表达式应用程序中添加,
,则会导致崩溃
NSString *emailRegEx = @"[A-Z0-9a-z._%+-,]+@[A-Za-z0-9.-,]+\\.[A-Za-z,]{2,100}";
NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegEx];
错误是这样的
NSString *emailRegEx = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,100}";
NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegEx];
NSInternalInconsistencyException',原因:'无法进行正则表达式匹配,
原因:无法打开模式U\U REGEX\U无效的\U范围(字符串
abc@gmail.com,xyz@gmail.com图案
[A-Z0-9a-z.uz%+-,]+@[A-Za-Z0-9.-,]+.[A-Za-z,]{2100},案例0,佳能
0)'
有人遇到过这样的问题吗?我需要发送多封电子邮件。
提前谢谢 在字符类中添加逗号
,
时,请确保将连字符-
移到末尾,或将其转义为\-
。以下是修复错误的3种方法:
将[A-Za-z0-9.,-]
移动到末尾-
对连字符进行了转义[A-Za-z0-9.\-,]
\-
确定订单。这包括一个范围(ASCII 44到46),其中将包括另一个字符,该字符实际上由连字符本身算不上什么[A-Za-z0-9,-.]
,因此它与上述两个正则表达式相同李>-
-,
,该范围是无效的ASCII范围(46到44)。但是,如果您编写了,-。
,它将工作正常,不会给出任何错误,因为它是ASCII 44到46,但是它将包含另一个ASCII字符,即第45位(-
本身)
希望这有帮助为什么不简单地使用
分隔字符串,
并比较每个字符串是否有效
NSString *emailRegEx = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";
NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegEx];
NSArray *emails = [emailField.text componentsSeparatedByString:@","];
NSMutableArray *valiedEmails = [[NSMutableArray alloc] init];
for (NSString *email in emails) {
if ([emailTest evaluateWithObject:email]) {
[valiedEmails addObject: email];
}
}
if (valiedEmails.count > 0) {
txtviewemailaddress.text = [valiedEmails componentsJoinedByString:@", "];
[self serverconnectionPost];
}
else {
//show alert that email is not valid
}
它只在一个文本文件中。它不接受这种类型的验证[A-Z0-9a-z.[UZ%+-,]+@[A-Za-Z0-9.-,]+\.[A-Za-z,]{2100}“@Muju检查编辑后的答案,并将regx更改为一次只比较一封电子邮件,
,
将单独的电子邮件与字段进行比较,然后循环查看结果并比较每封邮件是否有效。”not@Muju检查编辑的答案,并一次比较一封电子邮件,所以让regx只比较一封邮件,而不是多封邮件。但是我需要一次比较多封邮件。@Muju你不能在for循环中实现吗?不行。我添加了[a-Z0-9a-z.\uz%+,-]+@[a-Za-Z0-9.-]+\[a-Za-z.-]+\[a-Za-z.-]{2100}但不是work@WiktorStribixew这并不是因为我要求多封邮件,而您的链接用于单封邮件验证。