iOS 개발 정규 연산 상세 안내

3521 단어
iOS 개발 정규 연산
1. 정규 연산 의 의미
regular expression 은 문자열 이 일치 하 는 패턴 을 설명 합 니 다. 문자열 에 피 드 문자열 이 포함 되 어 있 는 지, 일치 하 는 하위 문자열 을 교체 하거나 특정한 문자열 에서 특정한 조건 에 맞 는 하위 문자열 을 꺼 내 는 지 확인 할 수 있 습 니 다. iOS 에 서 는 문자열 이 규칙 에 맞 는 지 확인 하 는 데 사 용 됩 니 다.
2. 정규 표현 식 을 자주 사용 합 니 다 (필요 에 맞 는 정규 표현 식 을 직접 쓰 려 면 4 의 기호 적 의 미 를 알 아야 합 니 다)
(1). 사용자 이름
"^ [a - zA - Z] [a - zA - Z0 - 9] {5, 15} $" (6 - 16 자리 알파벳 숫자 밑줄 로 구성 되 어 있 으 며, 첫 번 째 는 숫자 나 밑줄 로 그 을 수 없습니다) [a - zA - Z] 는 첫 번 째 가 알파벳 임 을 표시 합 니 다.[a - zA - Z0 - 9] 문 자 는 알파벳 숫자 나 하강 선 임 을 나타 낸다.{5, 15} 은 [a - zA - Z0 - 9] 에 맞 는 문자 가 5 개 에서 15 개 있 음 을 나타 낸다.
(2). 비밀번호
"^(?![0-9]{0,24})[\\S]{6,24}$"  (6 - 24 비트, 순수 숫자 가 아 닙 니 다. 빈 칸 을 포함 할 수 없습니다) (?! [0 - 9] {0, 24} $)  앞의 24 자리 가 모두 숫자 일 수 없 음 을 나타 낸다 \ S  공백 이 아 닌 문자 (빈 칸, 리 턴, tab 등 입력 한 공백 문자 가 아 닙 니 다) [\ \ S] {6, 24} 은 6 ~ 24 비트 가 빈 칸 이 아 닌 문 자 를 표시 합 니 다.
핸드폰 번호
"^ 1 [3 | 4 | 5 | 7 | 8] [0 - 9] {9} $" (한 개 정도 로 정확하게 선별 할 수 없 음) 1 은 1 [3 | 4 | 5 | 7 | 8] 을 나타 내 고 두 번 째 는 3, 4, 5, 6, 7 또는 8 [0 - 9] {9} 은 9 개의 임 의 숫자 를 나타 낸다.
(4).email
"^[a-zA-Z0-9_-]+(.[a-zA-Z0-9_-]+)*@[a-zA-Z0-9_-]+.com(.cn)?$"  (형식 사용자 이름 @ 메 일 사이트. com   혹시   사용자. 이름 @ 메 일 사이트. com. cn)
[a - zA - Z0 - 9 -] + 는 1 자리 또는 여러 자리 알파벳 숫자 밑줄 과 연결 부 호 를 나타 낸다 ([a - zA - Z0 - 9 -] +) * 는 0 개 또는 여러 개 를 나타 낸다.  점 하나 이상 의 알파벳 숫자 밑줄 연결 문자 로 구 성 된 문자열
3. 정규 iOS 에서 의 응용
문자열 이 요구 에 부합 되 는 지 확인 합 니 다.

/**
 *               
 *
 * @param string         
 * @param regex      
 *
 * @return     YES     NO
 */
- (BOOL) predicateString:(NSString *)string WithRegularExpreess:(NSString *)regex {
  // 1、    
  NSPredicate *predicateRe = [NSPredicate predicateWithFormat:@"self matches %@", regex];
  // 2、     
  BOOL result = [predicateRe evaluateWithObject:string];
  return result;
}

 :          (6-24 ,      ,      )    

 NSString *regulerExp = @"^(?![0-9]{0,24}$)[\\S]{6,24}$";
 BOOL result = [self predicateString:_textField.text WithRegularExpreess:regulerExp];
  


4. 자주 사용 하 는 기호 즉 의미 (아래 의 몇 가지 기호의 의 미 를 이해 하면 일반적인 정규 연산 은 모두 쓸 수 있다)
^     표현 식 의 첫머리 에 정규 표현 을 표시 합 니 다. 시작 $     문자열 의 끝 을 나타 낸다    []    표현 식 한 글자 한정      예: ^ [a - z]: 소문 자로 한정  [A - Z]: 대문자 로 한정  [0 - 9]: 숫자 로 한정 ()    한 꿰미 를 한정 하 다      예:  ^([a - z] {4}) ([0 - 9] {3}) 은 소문 자 4 개 뒤에 세 개의 숫자 로 구 성 된 문자열, 즉 abcd 332 adfd 453 등 을 나타 낸다.    {m}   m 개 한정 문자                          예: ^ [a - z] {3}   세 개의 소문 자로 구 성 된 문자열 을 나타 내 는 add bcd ade 등 {m,}  한정 문자                  예: ^ [a - z] {3,}  세 개 이상 의 소문 자로 구 성 된 문자열, 즉 acd, bcd 를 나타 낸다.  , adsf, sadfasdfasdf, 등 {m, n} m 에서 n 까지 한 정 된 문자                        예: ^ [a - z] {3, 5}  소문 자로 구 성 된 문자열 3 ~ 5 개, adb adsb asdfd 등 *     0 개 이상 의 한 정 된 문 자 를 표시 합 니 다.      예 를 들 어 ^ [a - z] * 는 0 개 이상 의 소문 자로 구 성 된 문자열 을 표시 합 니까?     0 개 또는 한 정 된 문자 +     하나 이상 의 한 정 된 문자 주 의 를 표시 합 니 다. 한 정 된 문자 가 없 는 것 은 단일 문자 입 니 다. 그 중에서 m, n 은 비 마이너스 정수, n > m 입 니 다.    [^ ]  ^굳이      예: ^ [^ a - z]  소문 자 를 제외 한 문 자 를 표시 합 니 다 |     혹시      예: ^ [a - z] | [0 - 9]  소문 자 나 숫자 를 나타 낸다  ?=    괄호 로 포함 하여 괄호 안의 규칙 에 부합 되 는 문 자 를 검사 합 니 다. 예 를 들 어 (? = [0 - 9] {0 - 7}) 은 앞의 7 자 리 를 모두 숫자 로 표시 합 니까?!    괄호 로 포함 하여 괄호 안의 규칙 에 부합 되 지 않 는 문 자 를 검사 합 니 다. 예 를 들 어 (?! [0 - 9] {0 - 7}) 은 앞의 7 자리 가 모두 숫자 가 아니 라 는 것 을 표시 합 니 다.
이 글 을 통 해 여러분 들 이 IOS 정규 연산 학습 파악, 본 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!

좋은 웹페이지 즐겨찾기