2012-09-24 6 views
5

나는 항상 Regex 형식과 어떻게 작동하는지, 내 요구 사항에 따라 Regex를 만드는 방법과 혼동합니다. 난 그냥 몇 가지 일반적인 Regex 형식을 복사하여 내 프로젝트에 붙여 넣기하지만 분명히 우리는 우리의 요구 사항에 따라 모든 Regex 형식을 찾을 수 없습니다. 그래서 저는 Regex에 대해 배우고 싶습니다. 1-9에서 시작해야이 시대에 따라,Objective-C에서 Regex를 만드는 방법

난 그냥 실행 코드 뒤에 또 다시 내 생각에서 그것을 만들하지만 여전히 나는이 Age 비교이 정규식

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

에 대해 알고 너무 많이 해달라고 최소 1 자리, 최대 2 자리 및 숫자 전용.

지금 내가 이름에 정규식을 만들고 싶어 - (특급 - saini 등 vakul, Vakul, vakul saini, Vakul Saini, vakul Saini, Vakul), 이메일, 전화 번호, 문자열 만 , 생일, , URL. 하지만 복사하고 붙여 넣기를하고 싶지 않습니다. 어떻게 작동하는지 배우고 싶고 자신의 Regex를 만드는 법을 배우고 싶습니다. 당신이 Regexkit Framework를 사용해야합니다

+6

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

답변

7

정규 표현식은 영숫자와 메타 문자

메타 문자는

로 알려진 특수 문자의 조합으로 구성된 텍스트 패턴에 그것을 정규식에 대한 최상의 솔루션을 발견 :

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

. ---- 대신 모든 문자와 일치하는 특별한 메타 문자입니다.

*

---- * 표시는 문자가 행의 0 개 이상의 문자와 일치.

+ ---- + 문자는 *과 유사 하나 하나 이상 일치합니다.

? ---- 제로 또는 문자

{m,n}의 인스턴스는 ---- 검색 수단 m 또는 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

, 난 아이폰 OS

+0

감사 @iYaniv가 참조 할 수 있습니다 아무도 나에게 필요한 모든 Regex 형식을 줄 수 없기 때문에 다른 사람들을 복사하고 싶지 않습니다. 그래서 나는 내 자신을 만드는 법을 배우고 싶습니다 .... – TheTiger

+0

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

+1

@ 대니얼 힐가스는 이미이 질문에 대한 첫 번째 의견을 보았습니다. learn to learn .. – TheTiger

관련 문제