Tag: 正则expression式

如何在Swift for iOS中使用NSDateFormatter格式化date?

我试图parsing这个date“2016年6月18日星期六”到“18/06/2016”我知道这可以使用正则expression式的方法,但我不知道如何得到一个输出使用。 在swift中使用NSDateFormatter的方法将是首选

用swift 3从开始位置切换到结束位置

我有string\string示例的string "some sting with random length\233" 我想删除最后的\并获得它后面的值,所以结果将是 "some sting with random length" "233" 我试过这个代码,但它不工作 let regex = try! NSRegularExpression(pattern: "\\\s*(\\S[^,]*)$") if let match = regex.firstMatch(in: string, range: string.nsRange) { let result = string.substring(with: match.rangeAt(1)) }

电子邮件使用特殊字符的正则expression式问题

我创build了以下正则expression式来validation我的电子邮件 – (BOOL)isValidEmail { BOOL stricterFilter = YES; NSString *stricterFilterString = @"[A-Z0-9a-z\\._%+-]+@([A-Za-z0-9-]+\\.)+[A-Za-z]{2,4}"; NSString *laxString = @".+@([A-Za-z0-9]+\\.)+[A-Za-z]{2}[A-Za-z]*"; NSString *emailRegex = stricterFilter ? stricterFilterString : laxString; NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex]; return [emailTest evaluateWithObject:self]; } 但是当我input以下内容时失败: b. !@#$%^ bfv@mn.cn 我的正则expression式有什么问题吗?

Swift正则expression式和反斜杠

在我正在开发的应用程序中,我从Plist文件读取正则expression式数组。 当我尝试应用下面的expression式时,问题出现了: \\(x\h{2}|[0-2][0-7]{,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.) 我得到的错误: "Error Domain=NSCocoaErrorDomain Code=2048 \"The operation couldn't be completed. (Cocoa error 2048.)\" UserInfo=0x7fc862ea7220 {NSInvalidValue=\\\\(x\\h{2}|[0-2][0-7]{,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)}" 似乎反斜线字符正在逃脱。 我尝试了下面的代码,以避免成功: var match: String // an instance variable, just here for the purpose of the example if let input = regularExpressions[n] as? NSString { var convertedString = input.mutableCopy() as NSMutableString let transform = "Any-Hex/Java" CFStringTransform(convertedString, nil, transform […]

正则expression式支持多语言的hashtag文本

我有一个像#sample_123 , #123_sample , #_sample123这样的文本,所以我必须使用正则expression式来检查文本只包含字母数字和下划线,我也想支持多种语言。 目前我正在使用像(#)([:alpha:]+)正则expression式,但它只检测#sample(例如: #sample _123)。 所以,任何人都可以提出正确的正则expression式来解决这个问题。

如果正则expression式有效,如何检查Swift?

我正在使用正则expression式来searchtextView。 所有使用简单的string正常工作,但是当我尝试只input一个正则expression式运算符的一部分,我得到一个错误的现金: Error Domain=NSCocoaErrorDomain Code=2048 "The value “\” is invalid." UserInfo={NSInvalidValue=\} 例如,如果我input“\ n”它的作品,但如果我只input“\”(不含引号),我得到崩溃。 我不能做的是find一种方法来检查expression式之前使用它。 我使用这个代码部分基于这个教程和WiktorStribiżew这个答案: extension NSRegularExpression { convenience init?(options: SearchOptions) { let searchString = options.searchString let isCaseSensitive = options.matchCase // set to true let isWholeWords = options.wholeWords // set to false let escapeMetacharacters = options.escapeMetacharacters // set to false // handle case sensitive option […]

使用正则expression式删除空行

我是iOS开发新手,我有这样的数据,我想删除所有的空行,请让我知道什么样的模式应用: 我用@“(\ r \ n)”作为模式,用@“”取代,但是不起作用。 请帮我解决这个问题 #EXTINF:-1 tvg-name="seedocs" tvg-logo="RT",RT http://rt.ashttp14.visionip.tv/live/rt-global-live-HD/playlist.m3u8 #EXTINF:-1 tvg-name="hsn" tvg-logo="hsn",HSN TV rtsp://hsn.mpl.miisolutions.net:1935/hsn-live01/_definst_/mp4:420p500kB31 #EXTINF:-1 tvg-name="us" tvg-logo="us",USTwit http://bglive-a.bitgravity.com/twit/live/high #EXTINF:-1 tvg-name="ALJAZEERA" tvg-logo="aljazeera",Aljazeera rtmp://aljazeeraflashlivefs.fplive.net/aljazeeraflashlive-live/aljazeera_eng_high #EXTINF:-1 tvg-name="bbc" tvg-logo="bbc",BBC World News #EXTINF:-1 tvg-name="vevo" tvg-logo="vevo",Vevo http://vevoplaylist-live.hls.adaptive.level3.net/vevo/ch1/06/prog_index.m3u8 #EXTINF:-1 tvg-name="vevo2" tvg-logo="vevo2",Vevo 2 http://vevoplaylist-live.hls.adaptive.level3.net/vevo/ch3/06/prog_index.m3u8 #EXTINF:-1 tvg-name="1HD" tvg-logo="1HD",1HD rtmp://109.239.142.62/live/livestream3

为什么正则expression式返回范围值?

我有一个stringAdd "ABC" here ,我想从这些string中提取ABC 。 为此我做: text.rangeOfString("(?<=\")[^\"]+", options: .RegularExpressionSearch) 但它回报我 Optional(Range(5..<7)) 我怎样才能从那里提取这些文本?

从电话号码获取区号

我正在让用户提交一个电话号码。 对于如何input没有限制。 我需要从这个电话号码是两件事情; 区号(不包括前导0)和其余的数字。 两者都没有非数字字符。 用户可能input的场景: 0707123456 0707-123456 0707-12 34 56 08-123 456 78 08-123 45 67 031-123 45 67 031-12 34 56 0480-12 34 56 0480-123 45 +468 123 456 78 +46(0)8 12 345 67 8 结果我想得到(两个NSStrings或int或其他):用户input:0707123456 Var 1:70 Var 2:7123456 用户input:+46(0)8 12 345 67 8 Var 1:8 Var 2:12345678 这些是区号: 所述方法包括使用本发明的化合物70,730,76,271,322,174,472,371,589,961,960,570,583,226,624,915,531,652,932,662,921,278,243,33,142,所述方法包括使用本文所述的方法制备抗体或抗体片段,所述抗体片段包含抗体或其片段。本发明的实施scheme提供了包含本发明化合物的化合物的方法,所述方法包括在步骤本发明的实施scheme提供了本发明的一些实施scheme,包括但不限于:511,563,975,643,582,220,175,35,696,644,297,922,928,224,684,225,291,42,513,301,503,290,671,506,650, 495,366,663,345,591,611,451,42,491,415,413,253,247,971,621,647,36,916,923,480,505,454,294,586,455,和454。在一个实施scheme中, 544,150,554,320,980,494,435,580,977,612,44,550,640,226,19,300,227,303,221,430,925,418,584,所述方法包括在步骤302,378,482,510,581,13642,372,651,657,240,920,46,950,523,913,157,40,280,953,496,159,501,433,530,可用于本发明的一个或多个实施scheme中,本发明涉及一种用于治疗癌症的方法,其包括: […]

在Objective-C中parsing以@和#开头的string

所以我试图parsing一个string,它具有以下格式: baz @ marroon#red#blue#大@猫#狗 或者,也可以用空格分隔: baz @marroon #red #blue @big @cat #dog 以下是我现在正在做的事情: – (void) parseTagsInComment:(NSString *) comment { if ([comment length] > 0){ NSArray * stringArray = [comment componentsSeparatedByString:@" "]; for (NSString * word in stringArray){ } } } 我已经有了空间分隔的组件,但是如果没有空间的话,我该如何迭代这些词呢? 我正在考虑使用正则expression式..但我不知道如何在Objective-C中编写这样的正则expression式。 任何想法,为一个正则expression式,将涵盖这两种情况? 这是我第一次尝试: NSError * error; NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"(@|#)\\S+" options:NSRegularExpressionCaseInsensitive error:&error]; NSArray* […]