iOS正規表示式 一

2021-07-04 03:33:46 字數 2577 閱讀 8126

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

1. 檢測給定的字串是否符合業務邏輯

2. 從目標字串中獲取我們想要的特定字串

1.利用nspredicate(謂詞)匹配
nsstring * targetstring = @"13534341234";

nsstring * regularexpression=@"^[1][3578]+\\d";

nspredicate *pre = [nspredicate predicatewithformat:@"self matches %@",regularexpression];

bool flag = [pre evaluatewithobject:targetstring];

if (flag) else

如上**所示為簡單的正規表示式在ios中的使用方式,意思為:使用者輸入的字串是否為手機號碼。

其中 `targetstring` 為用書輸入字串,`regularexpression` 為正規表示式語法,`nspredicate`為oc中查詢過濾類

2.利用rangeofstring:option:直接查詢目標字串
nsstring *string = [nsstring stringwithcontentsofurl:[nsurl urlwithstring:@""] encoding:4 error:nil];        

nsrange range = [string rangeofstring:@"()" options:nsregularexpressionsearch];

nsstring *substr = [string substringwithrange:range];

nslog(@"substr = %@",substr);

如上**就是從網頁中過濾出我們的標籤,刪除結果為:`

3.使用正規表示式類
nsstring *string = [nsstring stringwithcontentsofurl:[nsurl urlwithstring:@""] encoding:4

error:nil];

nsstring *pattern = @"

nsregularexpression *regex = [[nsregularexpression alloc] initwithpattern:pattern options:nsregularexpressioncaseinsensitive | nsregularexpressiondotmatcheslineseparators error:nil];

nstextcheckingresult *checkresult = [regex firstmatchinstring:string options:nsmatchingreportcompletion range:nsmakerange(0, string.length)];

nsstring *result = [string substringwithrange:[checkresult rangeatindex:0]];

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

nsstring *string = [nsstring stringwithcontentsofurl:[nsurl urlwithstring:@""] encoding:4

error:nil];

nsstring *pattern = @"

nsregularexpression *regex = [[nsregularexpression alloc] initwithpattern:pattern options:nsregularexpressioncaseinsensitive | nsregularexpressiondotmatcheslineseparators error:nil];

nsarray *thearray = [regex matchesinstring:string options:nsmatchingreportprogress range:nsmakerange(0, string.length)];

for ( nstextcheckingresult *ele in thearray)

nsstring * regularexpression=@"^[1][3578]+\\d"

nsstring *pattern = @"

對,這就是我們的正規表示式!那麼正規表示式的語法又是怎樣的呢?且聽下回分解!

iOS 正規表示式 一

在ios開發中,正則一直是最常用的,但也是一直記不住的,現在做一些簡單的總結 我們在網上找的正則,要有 這個在ios是轉義符,需要 這樣 int main int argc,const char ar 相當於 d d d 表示找到連續3個一起的數字 d 表示2數字或者4個數字 符合的。如 34245...

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 開始...