2012-09-24 10 views
5

Regex biçiminde nasıl çalıştıkları ve Regex'i gereksinimime göre nasıl yapılandıracağım konusunda her zaman kafam karıştı. Sadece bazı ortak Regex formatlarını kopyalayıp projemde yapıştırıyorum, ancak her Regex formatını ihtiyacımıza göre bulamıyoruz. Bu yüzden Regex hakkında bilgi edinmek istiyorum. 1-9 arası başlamak gerektiğini bu yaştaki göreObjective-C'de Regex nasıl yapılır

Sadece koşmak kodundan sonra tekrar benim tahmininden bunu yapmak ama hala ben bu Age karşılaştırmak bu Regex

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

hakkında bilmek o kadar yok en az 1 basamak, maksimum 2 basamak ve sadece sayısal.

Şimdi ben İsim Regex yapmak istiyorum - (exp - saini vb vakul, Vakul, vakul saini, Vakul Saini, vakul Saini, Vakul), Eposta, Telefon Numarası, Dize Sadece , Doğum Günü:, URL. Ama kopyalamak ve yapıştırmak istemiyorum, nasıl çalıştığını ve kendi Regeximi nasıl yapacağımı öğrenmek istiyorum. Eğer Regexkit Framework kullanmalıdır

+6

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

cevap

7

Normal ifade alfanümerik karakter ve metakarakter

meta karakter olan

olarak bilinen özel karakterlerin kombinasyonundan oluşan bir metin kalıptır içinde o regex için en iyi çözümü bulundu :

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

. ---- yerine herhangi bir karakterle eşleşir özel metakarakterdir.

* ---- Karakter, bir satırdaki karakterin sıfır veya daha fazla örneğini eşleştirir.

+ ---- + karakteri *'a benzer ancak bir veya daha fazla eşleşir.

? ---- sıfır veya karakter

{m,n} bir örneğini ---- eşleme m anlamına gelir ya da n karaktere kadar. örneğin {1,5} o bunu

aşağıdaki kelimeyle biten herhangi bir satırı eşleşir --- o

$ aşağıdaki kelime ile başlayan herhangi bir satırı eşleşir ---- 1 veya 5 kadar karakterleri

^ maçları

<> --- aralarındaki sözcükleri eşleştirir. Örneğin. sıklıkla başlangıç ​​ve bitiş parantez karakterler kullanarak, denir gibi grupları veya alt ifadeler oluşturabilirler abc

içeren tüm sözcükleri döndürür: () (alt ifade başlar ve) burayı

| biter - - Veya Karakter

[ and ] --- Karakterlerin dizisi.Dizi parantez içine yerleştirilen herhangi bir karakter, salt karakterleri, hatta metakarakterler olarak kabul edilir. Tek özel karakterler - karakter aralığını belirtir ve^bir diziyi reddetmek için kullanılır. Örneğin. [a-z]

Düzenli ifadeler için gereksinim duyduğunuz en temel bilgi budur ve neredeyse tüm diller için aynıdır. nasıl Regex yapmak bana öğretirdi ??? -

Daha detaylı bilgi için size this link

+0

iOS, ICU 4.2.1 lib'in değiştirilmiş bir sürümünü kullanıyor. API dokümanları http://icu-project.org/apiref/icu4c/index.html – ZhangChn

+0

adresinde bulunmaktadır. Zaten bundan bahsetmiştim: Bu, düzenli ifadeler için ihtiyacınız olan en temel bilgidir ve neredeyse tüm diller için aynıdır. Bunlar ios da çalışıyor, hemen hemen tüm – DivineDesert

+0

@CrazyCreator - Nice Explanation! Teşekkürler :) – TheTiger

0

i iOS

+0

Teşekkür @iYaniv başvurabilir Diğerleri Regex'i kopyalamak istemiyorum çünkü kimse bana ihtiyacım olan her Regex formatını veremiyor. Bu yüzden kendi başıma yapmayı öğrenmek istiyorum .... – TheTiger

+0

http://www.regular-expressions.info adresine gidin – Janub

+1

@Daniel Hilgarth bu bağlantıyı zaten vermiş olup bu sorunun ilk yorumuna bakın ..... İyi öğrenmek için bağlantı .. – TheTiger