iOS 正則表達(dá)式

Regular Expression
這是英文的表達(dá)棍现,其本身是描述或匹配符合某個句法規(guī)則的字符串钢拧。至于為啥翻譯成正則赵讯,表示鬼知道呢巡揍。正確規(guī)則?

一個正則表達(dá)式通常被稱為一個pattern(模式)。
一個正則表達(dá)式通常有如下的結(jié)構(gòu):
選擇
操作符: |

示例:
gray|grey 表示匹配gray或grey

數(shù)量限定
操作符: + ? *

示例:
+表示其前面的字符至少為一個油够。
goo+gle可以匹配 google, google,gooooooole等蚁袭。
?表示其前面的字符至多為1個。
colou?r可以匹配 color和colour石咬。
表示其前面的字符可以是n個揩悄,n非負(fù)數(shù)。
0
*42可以匹配 42鬼悠,042删性,0042,00042等

范圍
操作符()

示例:
(grand)?father可以匹配grandfather或father焕窝。
ps:你不會現(xiàn)在就把?操作符的含義給忘記了吧蹬挺。

基本的規(guī)則已經(jīng)介紹了,剩下的語法規(guī)則請google 正則表達(dá)式全集它掂。
篇幅所限巴帮,沒有貼過來,請不要恨我虐秋。

好了終于可以說說在iOS中怎么應(yīng)用正則表達(dá)式了榕茧。
iOS中提供了NSPredicate類來使用正則表達(dá)式。

NSString* regex = @"blahblah";
NSPredicate* predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex];
[predicate evaluateWithObject:str];

舉個栗子吧熟妓,我們以新浪郵箱的注冊標(biāo)準(zhǔn)來寫一個正則表達(dá)式雪猪。


9AE87C2D-E358-4CAC-B6EF-52EBB9C5997A.png

NSString* regex = @"^(?!)(?!.*$)\w{4,16}@sina.com";
解釋:
^表示匹配字符串的開始。$表示字符串的結(jié)束位置起愈。
?!表示在任何不匹配字符的地方開始查找字符串只恨。
.表示除\n以外的任意一個字符。表示任意個數(shù)抬虽。(你不會又忘了吧)官觅。
?!.
$ 和之前的?!就排除了收尾為下劃線的情況。
\w表示字母數(shù)字和下劃線阐污,等價(jià)于[a-zA-Z0-9_]休涤。
{4,16}表示字符的個數(shù)4-16位。

要吐學(xué)了么笛辟?那繼續(xù)琢磨正則表達(dá)式字符全集吧功氨!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市手幢,隨后出現(xiàn)的幾起案子捷凄,更是在濱河造成了極大的恐慌,老刑警劉巖围来,帶你破解...
    沈念sama閱讀 216,744評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件跺涤,死亡現(xiàn)場離奇詭異匈睁,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)桶错,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,505評論 3 392
  • 文/潘曉璐 我一進(jìn)店門航唆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人院刁,你說我怎么就攤上這事糯钙。” “怎么了退腥?”我有些...
    開封第一講書人閱讀 163,105評論 0 353
  • 文/不壞的土叔 我叫張陵超营,是天一觀的道長。 經(jīng)常有香客問我阅虫,道長,這世上最難降的妖魔是什么不跟? 我笑而不...
    開封第一講書人閱讀 58,242評論 1 292
  • 正文 為了忘掉前任颓帝,我火速辦了婚禮,結(jié)果婚禮上窝革,老公的妹妹穿的比我還像新娘购城。我一直安慰自己,他們只是感情好虐译,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,269評論 6 389
  • 文/花漫 我一把揭開白布瘪板。 她就那樣靜靜地躺著,像睡著了一般漆诽。 火紅的嫁衣襯著肌膚如雪侮攀。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,215評論 1 299
  • 那天厢拭,我揣著相機(jī)與錄音兰英,去河邊找鬼。 笑死供鸠,一個胖子當(dāng)著我的面吹牛畦贸,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播楞捂,決...
    沈念sama閱讀 40,096評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼薄坏,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了寨闹?” 一聲冷哼從身側(cè)響起胶坠,我...
    開封第一講書人閱讀 38,939評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎鼻忠,沒想到半個月后涵但,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體杈绸,經(jīng)...
    沈念sama閱讀 45,354評論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,573評論 2 333
  • 正文 我和宋清朗相戀三年矮瘟,在試婚紗的時候發(fā)現(xiàn)自己被綠了瞳脓。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,745評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡澈侠,死狀恐怖劫侧,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情哨啃,我是刑警寧澤烧栋,帶...
    沈念sama閱讀 35,448評論 5 344
  • 正文 年R本政府宣布,位于F島的核電站拳球,受9級特大地震影響审姓,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜祝峻,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,048評論 3 327
  • 文/蒙蒙 一魔吐、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧莱找,春花似錦酬姆、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,683評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至浮定,卻和暖如春相满,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背桦卒。 一陣腳步聲響...
    開封第一講書人閱讀 32,838評論 1 269
  • 我被黑心中介騙來泰國打工雳灵, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人闸盔。 一個月前我還...
    沈念sama閱讀 47,776評論 2 369
  • 正文 我出身青樓悯辙,卻偏偏與公主長得像,于是被迫代替她去往敵國和親迎吵。 傳聞我的和親對象是個殘疾皇子躲撰,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,652評論 2 354

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

  • iOS中使用正則表達(dá)式就不得不提NSRegularExpression,所以我們需要先搞清楚什么是NSRegula...
    sunmumu1222閱讀 2,340評論 0 4
  • 一击费、什么是正則表達(dá)式 正則表達(dá)式拢蛋,又稱正規(guī)表示法,是對字符串操作的一種邏輯公式蔫巩。正則表達(dá)式可以檢測給定的字符串是否...
    見哥哥長高了閱讀 2,008評論 6 48
  • 一谆棱、什么是正則表達(dá)式 正則表達(dá)式快压,又稱正規(guī)表示法,是對字符串操作的一種邏輯公式垃瞧。正則表達(dá)式可以檢測給定的字符串是否...
    Helen_kay閱讀 2,756評論 0 2
  • 前言 開發(fā)中經(jīng)常會用到正則表達(dá)式來匹配或者過濾目標(biāo)字符串蔫劣,從而提高自己的開發(fā)效率。本文主要通過介紹正則表達(dá)式个从,讓你...
    橫爬介士閱讀 4,858評論 0 5
  • 參考:正則表達(dá)式脉幢、正則表達(dá)式30分鐘入門教程、正則表達(dá)式的使用方法 一嗦锐、概述 正則表達(dá)式(Regular Expr...
    夏天的風(fēng)_song閱讀 2,276評論 0 1