實用知識 正規表示式的方法使用

2021-07-11 18:23:44 字數 2070 閱讀 9558

#import "viewcontroller.h"

#import "nsstring+regularexpression.h"

@inte***ce

viewcontroller ()

@end

@implementation

viewcontroller

- (void)viewdidload

- (void)test2

$ // 必須從頭匹配到尾

// ^ 指定正則從最開始就必須匹配

// $ 指定正則從匹配開始一直檢驗到結尾

// nsstring *pattern = @"^[1-9]\\d$";

//

// nsstring *qq = @"34567890";

// nsstring *result = [qq firstmatchstringwithpattern:pattern];

// nslog(@"%@", result);

//匹配規則:以0或86或空開頭,後面第乙個數字為"1",當第二數字為 "3,5,8" 第三個數字為"0-9",當第二數字為"7" 第三個數字為"6或7或8",當第二個數字為"4"時,第三個數字為"5或7",手機號碼位數為11位.

// | 表示 或者關係

// (0|86)? 1 (([358][0-9]) | (7[678]) | (4[57])) \d

nsstring *pattern = @"^(0|86)?1(([358][0-9])|(7[678])|(4[57]))\\d$";

nsstring *phone = @"013760671969";

nsstring *result = [phone firstmatchstringwithpattern:pattern];

nslog(@"%@", result);

}- (void)test

"; // 表示重複10次

// nsstring *pattern = @"6"; // 表示重複5到10次都是匹配的

// nsstring *pattern = @"德碼西亞(66)?"; // ? 類似於bool, 表示可有可無

// (66)? 表示66可有可無, 66? 表示最後乙個6可有可無 ()表示整體, 優先

// nsstring *pattern = @"德碼西亞6*"; // * 表示 0 到 多次重複

nsstring *pattern = @"\\w+"; // \w 表示數字/英文/中文/下劃線, + 表示重複1到多次

// 正規表示式很容易出錯, 因此要注意錯誤處理

nserror *error;

// oc中使用正規表示式 : nsregularexpression

nsregularexpression *expression = [nsregularexpression regularexpressionwithpattern:pattern options:0 error:&error];

if (error)

// // 從content的指定範圍字串查詢第乙個匹配的內容

// nstextcheckingresult *result = [expression firstmatchinstring:content options:0 range:nsmakerange(0, content.length)];

//// // nstextcheckingresult 正則匹配的結果

// if (result) else

nsarray

*resultarray = [expression matchesinstring:content options:0 range:nsmakerange(0, content.length)];

// 如果匹配不到結果, 仍然能返回陣列, 但是元素個數為0

if (resultarray.count != 0)

} else

}@end

實用正規表示式

匹配中文字元的正規表示式 u4e00 u9fa5 評注 匹配中文還真是個頭疼的事,有了這個表示式就好辦了 匹配雙位元組字元 包括漢字在內 x00 xff 評注 可以用來計算字串的長度 乙個雙位元組字元長度計2,ascii字元計1 匹配空白行的正規表示式 n s r 評注 可以用來刪除空白行 匹配ht...

實用的正規表示式

驗證數字 0 9 驗證n位的數字 d 驗證至少n位數字 d 驗證m n位的數字 d 驗證零和非零開頭的數字 0 1 9 0 9 驗證有兩位小數的正實數 0 9 0 9 驗證有1 3位小數的正實數 0 9 0 9 驗證非零的正整數 1 9 0 9 驗證非零的負整數 1 9 0 9 驗證非負整數 正整數...

實用的正規表示式

大於0 的數字 1 9 0 9 d 0 d d 非負整數.d 非負整數 正整數 0 0 9 1 9 0 9 正整數 d 0 非正整數 負整數 0 0 9 1 9 0 9 負整數 d 整數 d d 非負浮點數 正浮點數 0 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9...