iOS 正規表示式 一

2021-09-07 23:45:44 字數 1705 閱讀 2793

在ios開發中,正則一直是最常用的,但也是一直記不住的,現在做一些簡單的總結

我們在網上找的正則,要有'\',這個在ios是轉義符,需要'\\'這樣

int main(int argc, const

char *ar**) " 相當於「\\d\\d\\d」,表示找到連續3個一起的數字

//"\\d" 表示2數字或者4個數字 符合的。如"342455" ,得到兩個結果「3424「和」55」

//. 匹配除換行符以外的任意字元

//\w 匹配字母或數字或下劃線或漢字

//\s 匹配任意的空白符

//\d 匹配數字

//\b 匹配單詞的開始或結束

//^ 匹配字串的開始。如 @"^\\d" : 表示以2數字開頭,「345dd」匹配1個,「1d2e33」沒有匹配

//$ 匹配字串的結束。如 @"\\d$" :表示以2數字結尾,「ddd22」匹配1個,"dd3s3s"沒有匹配

//例如手機:@"^1[3578]\\d$" ,表示以1開頭,中間匹配任意3,5,7,8 ,最後以9個數字結尾

//當然,正確的手機"1[3578]\\d$"和"1[3578]\\d" 寫都是可以匹配的。

//* 重複零次或更多次

//+ 重複一次或更多次

//? 重複零次或一次

nsstring *username = @"

13800138000";

nsstring *pattern = @"

^1[3578]\\d$";

nsregularexpression *regex = [[nsregularexpression alloc] initwithpattern:pattern options:0

error:nil];

//測試字串

nsarray *resultarray = [regex matchesinstring:username options:0 range:nsmakerange(0

, username.length)];

nslog(

@"%zd

",resultarray.count);

}

return0;

}

列印出匹配的字元

nsstring *username = @"

ddd333jda892dd34dsss";

nsstring *pattern = @"

[a-za-z]+

"; //

匹配一次或更多次,會列印出連續的英文

nsregularexpression *regex = [[nsregularexpression alloc] initwithpattern:pattern options:0

error:nil];

nsarray *resultarray = [regex matchesinstring:username options:0 range:nsmakerange(0

, username.length)];

for (nstextcheckingresult *result in

resultarray)

結果(會列印出連續的結果):

iOS正規表示式 一

正規表示式是對字串操作的一種邏輯公式。在ios開發中我們通常使用正規表示式來匹配給定的字串是否符合我們的業務邏輯,比如說使用者註冊帳號只能是手機號或者郵箱等。我們還可以使用正規表示式來從一段字串當中擷取我們需要的字串,比如說網頁原始碼中我們需要擷取某些個位址等。總得來說,在ios開發中正規表示式的作...

iOS 正規表示式

正規表示式,又稱正規表示法 常規表示法 英語 regular expression,在 中常簡寫為regex regexp或re 電腦科學的乙個概念。正規表示式使用單個字串來描述 匹配一系列符合某個句法規則的字串。在很多文字編輯器裡,正規表示式通常被用來檢索 替換那些符合某個模式的文字。系統自帶的,...

ios 正規表示式

ab7 必須找到連在一起的ab7 0 9 找到0 9中的乙個即可 0 9 找到0 9中的乙個即可 0123456789 找到0 9中的乙個即可 d表示數字,d表示3個數字連在一起 d d d表示3個數字連在一起 da表示3個數字2個a連在一起 d 2個或4個數字連在一起 表示開始 表示結束 d 開始...