OC正規表示式的使用

2021-07-07 03:53:24 字數 2664 閱讀 2621

oc中一般正規表示式的使用方法為2步

1.建立乙個正規表示式物件

2.利用正規表示式來測試對應的字串

例如

nsstring *checkstring = @"

a34sd231";

//1.建立正規表示式,[0-9]:表示『0』到『9』的字元的集合

nsstring *pattern = @"

[0-9]";

將正規表示式設定為oc規則

nsregularexpression *regular =[[nsregularexpression alloc] initwithpattern:pattern options:nsregularexpressioncaseinsensitive error:nil];

//2.利用規則測試字串獲取匹配結果

nsarray *results = [regular matchesinstring:checkstring options:0 range:nsmakerange(0

, checkstring.length)];

nslog(

@"%ld

",results.count);

獲取列印結果,從checkstring上分析為數字的字元有5

所以可以得出乙個結論,正規表示式的作用就是把多可字串雜糅到乙個表示式中

到這裡就能大概明白正規表示式的意義了,接下來介紹一部分常用的正規表示式字元

/*

:找到內部的某乙個字元

[a-za-z0-9] ===> 代表字元或數字

\\d ====>代表數字

:代表有2個

:代表有2到4個

// ? + * ^ $ .

?: 代表0或1個

+: 代表至少1個

*: 代表0個或多個

^: 代表以...開頭

$: 代表以...結束

.: 代表除換行符以外的任意字元 */

//代表乙個數字字元

nsstring *pattern = @"\\d";

//代表2到5個連續的數字

nsstring *pattern = @"\\d";

//qq賬號的正規表示式

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

//**號碼格式的正規表示式

nsstring *pattern = @"^((13[0-9])|(15[3-5])|(18[07-9]))\\d$"

//郵箱的正規表示式

nsstring *pattern =@"^.*@..+\\.[a-za-z]$"

這樣根據需要的匹配規則來設定正規表示式就可以判斷字串是否為符合型別

若有乙個長串字串就要對其中部分進行表情、url、@(呼叫)或#話題# 的匹配判斷

則需要多個正規表示式來進行判斷

//

需要被篩選的字串

nsstring *str = @"

#今日要聞#[偷笑] @sdf[test] #你確定#@rain李23: @張三[挖鼻屎]m123m";

//表情正規表示式

//\\u4e00-\\u9fa5 代表unicode字元

nsstring *emopattern = @"

\\[[a-za-z\\u4e00-\\u9fa5]+\\]";

//@正規表示式

nsstring *atpattern = @"

@[0-9a-za-z\\u4e00-\\u9fa5]+";

//#...#正規表示式

nsstring *toppattern = @"

#[0-9a-za-z\\u4e00-\\u9fa5]+#";

//url正規表示式

nsstring *urlpattern = @"

\\b(([\\w-]+://?|www[.])[^\\s()<>]+(?:\\([\\w\\d]+\\)|([^[:punct:]\\s]|/)))";

//設定總的正規表示式

nsstring *pattern = [nsstring stringwithformat:@"

%@|%@|%@|%@

",emopattern,atpattern,toppattern,urlpattern];

//根據正規表示式設定oc規則

nsregularexpression *regular =[[nsregularexpression alloc] initwithpattern:pattern options:nsregularexpressioncaseinsensitive error:nil];

//獲取匹配結果

nsarray *results = [regular matchesinstring:str options:0 range:nsmakerange(0

, str.length)];

//nslog(

@"%@",results);

//遍歷結果

for (nstextcheckingresult *result in

results)

獲得結果

有了上面的演示就可以大致寫出系統方法使用的正規表示式了

oc正規表示式

在電腦科學中,是指乙個用來描述或者匹配一系列符合某個句法規則的字串的單個字串。在很多文字編輯器或其他工具裡,正規表示式通常被用來檢索和 或替換那些符合某個模式的文字內容。許多程式語言都支援利用正規表示式進行字串操作。正規表示式用於字串處理 表單驗證等場合,實用高效。現將一些常用的表示式收集於此,以備...

OC 正規表示式

常用的第三方正則庫 這裡面涉及到的正規表示式語法 d 匹配任何乙個數字,即 0 9 d 表示1個以上的數字 d 強行加上小括號,分組,相當把這個值緩衝起來,在 裡用 mystring substringwithrange match rangeatindex 1 可以提取出來回合數 表示小句點 s ...

OC正規表示式的簡單使用

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