iOS 확장 - 정규 연산
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} 5 15 [a-zA-Z0-9]
(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 ,abcd332 adfd453
{m} m
: ^[a-z]{3} add bcd ade
{m,} 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
확장 링크:http://www.runoob.com/regexp/regexp-intro.html
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.