2012-09-24 51 views
5

我總是用正則表達式格式,他們是如何工作的,以及如何迷惑按照我的要求做正則表達式。我只是複製一些常見的正則表達式格式並粘貼到我的項目中,但顯然我們無法根據我們的要求找到每種正則表達式格式。所以我想了解正則表達式。如何使正則表達式在Objective-C

我讓剛剛從我的猜測之後運行代碼一遍又一遍,但還是我不知道這個表達式

NSString *regexNumber = @"[123456789][0-9]{0}([0-9]{1})?"; 

這比較Age這麼多,按照這個年齡應該從1-9被啓動,最少1位數字,最多2位數字和數字。

現在我要讓正則表達式名稱 -(EXP - vakul,Vakul,vakul賽尼,Vakul賽尼,vakul賽尼,Vakul賽尼等),電子郵件電話號碼字符串只有生日,URL。 但不想複製和粘貼我想了解他們如何工作以及如何製作自己的正則表達式。

+6

http://www.regular-expressions.info/ –

回答

7

正則表達式是由字母數字字符和被稱爲元字符

元字符是特殊字符的組合的文本模式:

\ | () [ {^$ * + ? . < > 

. ----它是一個特殊的元字符,它匹配任何字符。

* ---- *字符匹配零成或多個連續的字符。

+ ---- +字符類似於*但相匹配的一個或多個。

? ----零或字符

{m,n}的一個實例----意味着匹配米或最多n個字符。例如{1,5} 1或高達5個字符

^匹配----它將下列它

$匹配,其與字開始任何線---它將下列它

匹配,其與字結尾的任何線

<> ---匹配它們之間的單詞。例如。返回包含ABC

可以結成團體,或子表達式,因爲它們被頻繁調用,通過使用開始和結束括號字符的所有詞: ()的(啓動子表達式和)結束它

| - - 或參數

[ and ] ---字符序列。置於序列括號內的任何字符都被視爲文字字符,甚至是元字符。唯一的特殊字符是 - 表示字符範圍,^用於否定序列。例如。 [a-z]

這是正則表達式所需的最基本知識,幾乎所有語言都是相同的。

進一步的細節可以參考this link

+0

iOS使用ICU 4.2.1 lib的修改版本。 API文檔位於http://icu-project.org/apiref/icu4c/index.html – ZhangChn

+0

我已經提到過'這是您正常表達所需的最基本的知識,它們對於幾乎所有的語言都是一樣的。這些工作在ios以及幾乎所有 – DivineDesert

+0

@CrazyCreator - 尼斯解釋!謝謝:) – TheTiger

0

應該使用Regexkit Framework,我發現它爲正則表達式的最佳解決方案在IOS

+0

感謝@iYaniv - 將它教我如何使正則表達式???我不想複製其他正則表達式,因爲沒有人可以給我每種正則表達式格式我需要的。所以我想學會做我自己的... – TheTiger

+0

去http://www.regular-expressions.info – Janub

+1

@Daniel Hilgarth已經給出了這個鏈接看到這個問題的第一評論.....這是很好鏈接學習.. – TheTiger