二.正則表達(dá)式的使用

- (void)howToUseRegex

{

#pragma mark 1.正則表達(dá)式規(guī)則

/*-------------------------------1.1普通字符-------------------------------*/

// 字母、數(shù)字、漢字、下劃線、非特殊定義的標(biāo)點符號笑窜,都是"普通字符"。表達(dá)式中的普通字符,在匹配一個字符串的時候识补,匹配與之相同的一個字符。

NSString *searchString1_1 = @"abcde";

NSString *regexString1_1 = @"c";

NSString *matchedString1_1 = [searchString1_1 stringByMatching:regexString1_1];

NSLog(@"matchedString1_1:%@",matchedString1_1); // 輸出結(jié)果: c

/*-------------------------------1.2簡單的轉(zhuǎn)義字符-------------------------------*/

// 一些不便書寫的字符辫红,在前面加 "\",如:\n,\t,\\ 等

NSString *searchString1_2 = @"abc$de";

// 記住在字符串中“\”需要用“\\”表示

NSString *regexString1_2 = @"\\$d";

NSString *matchedString1_2 = [searchString1_2 stringByMatching:regexString1_2];

NSLog(@"matchedString1_2:%@",matchedString1_2); // 輸出結(jié)果: $d

/*------------------------1.3能夠與 '多種字符' 匹配的表達(dá)式-------------------------*/

/*

.? ? : 匹配除換行符以外的任意字符

\w? ? : 匹配字母或數(shù)字或下劃線或漢字

\s? ? : 匹配任意的空白符

\d? ? : 匹配數(shù)字

\b? ? : 匹配單詞的開始或結(jié)束

*/

NSString *searchString1_3 = @"abc123";

// 正則表達(dá)式有一條規(guī)則:最先開始的匹配擁有最高的優(yōu)先權(quán)

NSString *regexString1_3 = @"\\d\\d";

NSString *matchedString1_3 = [searchString1_3 stringByMatching:regexString1_3];

NSLog(@"matchedString1_3:%@",matchedString1_3); // 輸出結(jié)果: 12

/*---------------------1.4自定義能夠匹配 '多種字符' 的表達(dá)式-------------------------*/

// 使用方括號 [ ] 包含一系列字符凭涂,能夠匹配其中任意一個字符。用 [^ ] 包含一系列字符贴妻,則能夠匹配其中字符之外的任意一個字符切油。同樣的道理,雖然可以匹配其中任意一個名惩,但是只能是一個澎胡,不是多個。[]本身就隱含了“或”的關(guān)系娩鹉,在[]中使用“|”表示“或”的關(guān)系是不對的攻谁,這樣做只是多了一個普通字符“|”,用來匹配“|”字符本身弯予,()也是同樣道理戚宦。 如:

/*

[ab5@]? ? : 匹配 "a" 或 "b" 或 "5" 或 "@"

[^abc]? ? : 匹配 "a","b","c" 之外的任意一個字符

[f-k]? ? : 匹配 "f"~"k" 之間的任意一個字母

[^A-F0-3] : 匹配 "A"~"F","0"~"3" 之外的任意一個字符

*/

NSString *searchString1_4 = @"abc123";

NSString *regexString1_4 = @"[bcd][bcd]";

NSString *matchedString1_4 = [searchString1_4 stringByMatching:regexString1_4];

NSLog(@"matchedString1_4:%@",matchedString1_4); // 輸出結(jié)果: bc

/*---------------------1.5修飾匹配次數(shù)的特殊符號------------------------------*/

// 使用表達(dá)式再加上修飾匹配次數(shù)的特殊符號,那么不用重復(fù)書寫表達(dá)式就可以重復(fù)匹配

/*

{n}? :? 表達(dá)式重復(fù)n次

{m,n} :? 表達(dá)式至少重復(fù)m次锈嫩,最多重復(fù)n次

{m,}? :? 表達(dá)式至少重復(fù)m次

?? ? :? 匹配表達(dá)式0次或者1次受楼,相當(dāng)于 {0,1}

+? ? :? 表達(dá)式至少出現(xiàn)1次垦搬,相當(dāng)于 {1,}

*? ? :? 表達(dá)式不出現(xiàn)或出現(xiàn)任意次,相當(dāng)于 {0,}

*/

NSString *searchString1_5 = @"It costs $12.5";

NSString *regexString1_5 = @"\\d+\\.?\\d";

NSString *matchedString1_5 = [searchString1_5 stringByMatching:regexString1_5];

NSLog(@"matchedString1_5:%@",matchedString1_5); // 輸出結(jié)果: 12.5

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末艳汽,一起剝皮案震驚了整個濱河市猴贰,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌骚灸,老刑警劉巖糟趾,帶你破解...
    沈念sama閱讀 217,907評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異甚牲,居然都是意外死亡义郑,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評論 3 395
  • 文/潘曉璐 我一進(jìn)店門丈钙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來非驮,“玉大人,你說我怎么就攤上這事雏赦〗袤希” “怎么了?”我有些...
    開封第一講書人閱讀 164,298評論 0 354
  • 文/不壞的土叔 我叫張陵星岗,是天一觀的道長填大。 經(jīng)常有香客問我,道長俏橘,這世上最難降的妖魔是什么允华? 我笑而不...
    開封第一講書人閱讀 58,586評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮寥掐,結(jié)果婚禮上靴寂,老公的妹妹穿的比我還像新娘。我一直安慰自己召耘,他們只是感情好百炬,可當(dāng)我...
    茶點故事閱讀 67,633評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著污它,像睡著了一般剖踊。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上衫贬,一...
    開封第一講書人閱讀 51,488評論 1 302
  • 那天蜜宪,我揣著相機與錄音,去河邊找鬼祥山。 笑死圃验,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的缝呕。 我是一名探鬼主播澳窑,決...
    沈念sama閱讀 40,275評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼斧散,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了摊聋?” 一聲冷哼從身側(cè)響起鸡捐,我...
    開封第一講書人閱讀 39,176評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎麻裁,沒想到半個月后箍镜,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,619評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡煎源,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,819評論 3 336
  • 正文 我和宋清朗相戀三年色迂,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片手销。...
    茶點故事閱讀 39,932評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡歇僧,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出锋拖,到底是詐尸還是另有隱情诈悍,我是刑警寧澤,帶...
    沈念sama閱讀 35,655評論 5 346
  • 正文 年R本政府宣布兽埃,位于F島的核電站侥钳,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏柄错。R本人自食惡果不足惜舷夺,卻給世界環(huán)境...
    茶點故事閱讀 41,265評論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望鄙陡。 院中可真熱鬧,春花似錦躏啰、人聲如沸趁矾。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽毫捣。三九已至,卻和暖如春帝际,著一層夾襖步出監(jiān)牢的瞬間蔓同,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評論 1 269
  • 我被黑心中介騙來泰國打工蹲诀, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留斑粱,地道東北人。 一個月前我還...
    沈念sama閱讀 48,095評論 3 370
  • 正文 我出身青樓脯爪,卻偏偏與公主長得像则北,于是被迫代替她去往敵國和親矿微。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,884評論 2 354

推薦閱讀更多精彩內(nèi)容