2016.11.23
語法
首先崭别,特殊符號^和$,他們的作用分別指一個(gè)字符串的開始和結(jié)束
eg:
^one:表示所有以“one”開始的字符串 one cat您市,one dog……
類似于- (BOOL)hasPrefix:(NSString *)aString;
dog$:表示所有以dog結(jié)尾的字符串 it is a dog,……
類似于 -(BOOL)hasSuffix:(NSString *)aString;
^apple$:表示開始和結(jié)尾都是apple的字符串,是唯一的
banana:表示任何包含banana的字符串
類似于 -(BOOL)containsString:(NSString *)aString,搜索子字符串用的
*玖喘,+,蘑志?這三個(gè)符號累奈,表示一個(gè)或n個(gè)字符重復(fù)出現(xiàn)的次數(shù)。分別表示"沒有或更多" ([0急但,正無窮)) 澎媒;"一次或更多" ([1,正無窮)) ;"沒有或一次" ([0,1]) 波桩。
ab*:表示一個(gè)字符串有一個(gè)a后面跟著0個(gè)或多個(gè)b(a,ab,abb...)
ab+:表示一個(gè)字符串有一個(gè)a后面跟著至少一個(gè)b(ab,abb,abbb...)
ab?:表示一個(gè)字符串有一個(gè)a后面跟著0個(gè)或1個(gè)b(a,ab)
a?b+$:表示一個(gè)字符串結(jié)尾有-個(gè)或1個(gè)a跟著一個(gè)或多個(gè)b(b,ab,bb,abb,...)
用大括號{}表示一個(gè)重復(fù)的具體范圍戒努,如
ab{4}:表示一個(gè)字符串有一個(gè)a跟著4個(gè)b(abbbb)
ab{1,}:表示一個(gè)字符串有1個(gè)a跟著至少1個(gè)b(ab,abb,abbb,...)
ab{2,4}:表示一個(gè)字符串有1個(gè)a跟著2-4個(gè)b(abb,abbb,abbbb)
*可以用{0,}表示镐躲,+可以用{1储玫,}表示,萤皂?可以用{0撒穷,1}表示
注意:可以沒有下限,但不能沒有上限敌蚜,如ab{ 桥滨,5}是錯(cuò)誤的寫法
| 表示或操作
a|b:表示一個(gè)字符串里有a或b
(a|bcd)ef:表示aef或bcdef
(a|b)*c:表示0個(gè)或多個(gè)a或b的字符串后面有一個(gè)c,ac弛车,abc齐媒,c,bc纷跛,abbc喻括,aabc,aabbc贫奠,...
[]表示在括號內(nèi)的眾多字符中唬血,選擇1-n個(gè)括號內(nèi)的符合語法的字符作為結(jié)果望蜡,如:
[ab]:表示一個(gè)字符串有一個(gè)a或a(相當(dāng)于a|b)
[a-d]:表示一個(gè)字符串包含小寫的a到d中的一個(gè)(相當(dāng)于a|b|c|d或者[abcd])
^[a-zA-Z]:表示一個(gè)以字母開頭的字符串
[0-9]a:表示a前有一位數(shù)字
[a-zA-Z0-9]$:表示一個(gè)字符串以一個(gè)字母或數(shù)字結(jié)束
.匹配除\r\n之外的任何單個(gè)字符,如:
a.[a-z]:表示一個(gè)字符串有一個(gè)a后面跟著任意字符和一個(gè)小寫字母
^.{5}$:表示任意一個(gè)長度位5的字符串