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 정규 연산 학습 파악, 본 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.