gpt4 book ai didi

iphone - 未知转义序列 - 正则表达式

转载 作者:行者123 更新时间:2023-12-03 19:09:17 25 4
gpt4 key购买 nike

我想验证我使用 RegexKitLite.h 的电子邮件文本。我正在做如下事情:

NSString *strEmail = [txtEmail text];
NSRange range = [strEmail rangeOfRegex:@"^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$"];
NSLog(@"%@",range);

现在我只是检查这是否有效。但我在第二行遇到错误。日志什么也没说。但第二行有一个警告:

Unknown escape sequence '\.'  

可能是什么问题?是表述有问题还是有其他问题?

最佳答案

您不需要转义字符类中的点。大多数正则表达式引擎都会忽略这种错误,Objective C 的似乎更严格。试试这个:

rangeOfRegex:@"^[a-zA-Z][\w.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z.]*[a-zA-Z]$"

但是(与问题无关),这是一个相当奇怪的电子邮件验证正则表达式,因为它会拒绝许多有效的电子邮件地址并允许许多无效的电子邮件地址。我不知道您的目标是什么,但通常最好不要对验证正则表达式过于严格,而是通过实际向该地址发送电子邮件并查看它是否失败来进行验证。

关于iphone - 未知转义序列 - 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6812206/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com