草庐IT

NSRegularExpression

全部标签

ios - 在 iOS 中使用正则表达式进行验证

我正在iOS中使用正则表达式(Regex)对用户名字段进行验证。我不希望用户名以“guest”一词开头。我尝试了以下代码,但它不起作用。[txtUserNameaddRegx:@"^(guest)"withMsg:@"UsernameCan'tstartwiththewordguest"];想法? 最佳答案 你可以尝试使用这个正则表达式:^(?!guest).*$解释:^断言字符串开头的位置(?!guest)NegativeLookahead-断言不可能匹配下面的正则表达式guest按字面意思匹配字符guest(区分大小写).*匹配

objective-c - 搜索子字符串 (NSString)

搜索由##$$括起来的子字符串的最佳方法是什么。因此,例如,我有一些这样的文本:Lorem##ipsum$$dolorsitamet,##consectetur$$adipisicingelit,seddoeiusmodtemporincididuntutlaboreetdoloremagnaaliqua.Utenimadminimveniam,quisnostrudexercitationullamcolaborisnisiutaliquipexeacommodoconsequat。我想获取单词ipsum和consectetur。我知道我可以使用NSStringrangeofsubs

ios - 通过正则表达式验证 IP 地址 - 未知转义序列

我正在开发一个需要使用正则表达式来验证ipv4地址的iOS项目。我使用下面的代码//onlysupportip4currentlyNSRegularExpression*regex=[NSRegularExpressionregularExpressionWithPattern:@"^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$"options:0error:nil];NSUIntegernumberOfMatches=[regexnumberOfMa

ios - 适用于各种日期格式的正则表达式 iOS

我正在努力了解一些正则表达式以匹配某些日期格式。理想情况下,我希望一个表达式与所有可能的日期格式匹配,我正在搜索一封电子邮件以查找正文中包含的所有日期。格式如:Wednesday,6November2013Weds6thNovember2013Weds6thNov201306/11/201311/06/201306/11/1311/06/136thNov20136thNovember2013有谁知道我可以使用的一种综合表达方式吗? 最佳答案 感谢Wain的回答,我使用这段代码而不是NSRegularExpression来查找字符串中

ios - 如何在 xcode 7 的 Swift 2.0 中使用 NSRegularExpression

//错误在这里letregex=NSRegularExpression(pattern:"()",options:nil,error:nil)//错误是:***cannotfindaninitializerfortypensregularexpressionthatacceptanargumentoftype(pattern:string,ption:nil,error:nil) 最佳答案 Swift2.0中的语法有2处变化:(1)您将调用包装在try...catchblock中,而不是提供error范围;(2)options应该是

ios - NSRegularExpression 内存占用

我一直在尝试降低我的应用程序的内存使用量,在分析后发现NSRegularExpression非常耗费内存。我的一个fistMatchInString调用(第一个?)分配了1MB的内存,该内存永远不会释放。并且每次调用firstMatchInString都会泄漏一个“NSConcreteValue”(不管它是什么)。您是否经历过同样的行为,您知道如何避免吗?你知道NSRegularExpression的好的替代品吗?在你问之前:我所有的正则表达式模式都很小并且是静态创建的。所有要匹配的字符串也都很小。 最佳答案 是的,正则表达式是昂贵

ios - NSRegularExpression 崩溃

我正在使用NSRegularExpression从HTML中挑选图像URL。但是,当尝试实际使用它时,出现以下错误:*Terminatingappduetouncaughtexception'NSInvalidArgumentException',reason:'*-[NSRegularExpressionenumerateMatchesInString:options:range:usingBlock:]:nilargument'我看过其他Stackoverflow答案,例如this,但是那个问题使用了NSMatchingOption而我没有,而且答案没有提供任何关于我的情况有什么问

ios - 在 iOS 中如何使用 bool 结果检查字符串是否符合正则表达式

在iOS中,我需要根据正则表达式检查字符串,如果通过则返回true(例如),如果不通过则返回false。我知道我必须使用NSRegularExpression类,但我不知道如何使用。 最佳答案 你应该阅读documentation.下面是一个示例代码,说明如何在一般情况下执行此操作:-(BOOL)checkString:(NSString*)string{NSString*constexpression=@"^\\d{3}[-]\\d{2}[-]\\d{4}$";//insertyoursNSError*error=nil;NSRe

ios - objective-c - 帮助创建格式正则表达式 (#,#)

用户以这种格式在我的UITextField中输入他/她每门类(class)的学时数......4,3,4,3,3(第一门类(class)4个学分,第二门类(class)3个学分,依此类推)条件:用户只能输入MIN1门类(class)和MAX5门类(class),学分必须用逗号分隔,最后一个除外,字符串应仅包含数字和逗号(无字母等)。如果违反条件,我会尝试显示一条错误消息。我想我需要创建一个正则表达式。我不确定如何创建一个,因为用户可以输入2个类(class),所以...(3,4)并且仍然可以。(比如它不能遵循严格的格式,如电话号码)。 最佳答案

objective-c - 使用 NSScanner 进行高效的 NSString 解析

首先,我正在编写一个iOS5应用程序。举例来说,假设我有以下字符串:100-PARKSTREET/JAMESPLACE我想以最高效(和代码优雅)的方式从这个字符串中提取两个道路名称。我尝试过使用[stringcomponentsSeparatedByString...]等的组合,但这很快就会变得非常困惑。此外,它需要大量的条件语句来处理如下情况:100-BI-CENTENNIALDRIVE/JAMESPLACE因为它包含一个嵌套的连字符,如果我们使用[stringcomponentsSeparatedByString:@"-"]并且需要重新组装,它会被拆分。还有一些情况,字符串可能有略