以為可以用個很簡單的方式,完成字串檢查,結果程式跑進去後不打算出來,只能 debug 再開起來跑,結果 ⋯ 有種很悲劇的 fu ~
這是一種,用了正規表示式,更浪費時間的概念 ⋯
完全死魚臉 。・゜・(ノД`)・゜・。
下述的程式區段,只有 ‘被查詢的字串’長度不一樣而已,正規表示式是一樣的。
這個測試我已經完全不管回傳值正不正確了 ~
code :
NSPredicate * predicate;
predicate = [NSPredicate predicateWithFormat: @"SELF MATCHES %@", @"([^*|:\"<>?]|[ ]|\\w)+@[1-9][0-9]*+[xX]$"];
[predicate evaluateWithObject: @"1234567890"];
output result :
Test Case '-[TechDNSStringTest testRegularExpression]' started.
Test Case '-[TechDNSStringTest testRegularExpression]' passed (0.009 seconds).
code :
NSPredicate * predicate;
predicate = [NSPredicate predicateWithFormat: @"SELF MATCHES %@", @"([^*|:\"<>?]|[ ]|\\w)+@[1-9][0-9]*+[xX]$"];
[predicate evaluateWithObject: @"12345678901234567890"];
output result :
Test Case '-[TechDNSStringTest testRegularExpression]' started.
Test Case '-[TechDNSStringTest testRegularExpression]' passed (0.530 seconds).
code :
NSPredicate * predicate;
predicate = [NSPredicate predicateWithFormat: @"SELF MATCHES %@", @"([^*|:\"<>?]|[ ]|\\w)+@[1-9][0-9]*+[xX]$"];
[predicate evaluateWithObject: @"1234567890123456789012345"];
output result :
Test Case '-[TechDNSStringTest testRegularExpression]' started.
Test Case '-[TechDNSStringTest testRegularExpression]' passed (14.467 seconds).
code :
NSPredicate * predicate;
predicate = [NSPredicate predicateWithFormat: @"SELF MATCHES %@", @"([^*|:\"<>?]|[ ]|\\w)+@[1-9][0-9]*+[xX]$"];
[predicate evaluateWithObject: @"1234567890123456789012345678"];
output result :
Test Case '-[TechDNSStringTest testRegularExpression]' started.
Test Case '-[TechDNSStringTest testRegularExpression]' passed (121.436 seconds).
這個問題沒被修正前 ⋯ 我看,我只能來去找 c 的正規表示式了。
沒有留言:
張貼留言