iOS 학습 의 정규 표현 식 이 iOS 에서 의 간단 한 활용
정규 표현 식 은 정규 표현법 이 라 고도 부 르 며 문자열 조작 에 대한 논리 적 공식 이다.정규 표현 식 은 주어진 문자열 이 우리 가 정의 한 논리 에 부합 되 는 지, 문자열 에서 우리 가 원 하 는 특정한 부분 을 가 져 올 수 있 습 니 다.그것 은 문자열 의 복잡 한 제어 에 매우 간단 한 방식 으로 신속하게 도달 할 수 있다.
2. 문법
“^one”: ”one” (”one cat”,”one123″,·····);
:- (BOOL)hasPrefix:(NSString *)aString;
“a dog$”: ”a dog” (”it is a dog”,·····);
:- (BOOL)hasSuffix:(NSString *)aString;
“^apple$”: ”apple” , ~;
“banana”: ”banana” 。
iOS8 - (BOOL)containsString:(NSString *)aString, 。
“ab*”: a b(”a”, “ab”, “abbb”,……);
“ab+”: a b ( ”ab”, “abbb”,……);
“ab?”: a b( ”a”, “ab”);
“a?b+$”: a b( ”b”, “ab”,”bb”,”abb”,……)
“ab{4}”: a 4 b(”abbbb”);
“ab{1,}”: a 1 b(”ab”,”abb”,”abbb”,……);
“ab{3,4}”: a 3 4 b(”abbb”,”abbbb”)。
,“*” {0,} ,“+” {1,} ,“?” {0,1}
: , ! “ab{,5}”
“a|b”: ”a” ”b”;
“(a|bcd)ef”: ”aef” ”bcdef”;
“(a|b)*c”: ”a”"b” ”c”;
“[ab]“: ”a” ”b”( ”a|b”);
“[a-d]“: ’a' ’d' ( ”a|b|c|d” ”[abcd]“);
“^[a-zA-Z]“: ;
“[0-9]a”: a ;
“[a-zA-Z0-9]$”: 。
“a.[a-z]“: ”a” ;
“^.{5}$”: 1 5 ;
“
um” num 。 ”
um” ,
“(.)\1″: 。
“10\{1,2\}” : 1 1 2 0 (“10″,”100″)。
” 0\{3,\} ” 3 0 (“000”,“0000”,······)
[“@[^a-zA-Z]4](mailto:%E2%80%9C@[^a-zA-Z]4)@” ”@” )。
“ \d ” 。 [0-9]。
“ \D” 。 [^0-9]。
“ \w ” 。 “[A-Za-z0-9_]”。
“ \W ” 。 “[^A-Za-z0-9_]”。
iOS , , “\”, :
:@”^\\d\+$”
3. 정규 표현 식 이 iOS 에서 의 간단 한 응용
/ * * 핸드폰 번호 와 정규 일치 * /
+ (BOOL)checkTelNumber:(NSString *) telNumber;
+ (BOOL)checkTelNumber:(NSString *) telNumber
{
NSString *pattern = @"^1+[3578]+\\d{9}";
NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", pattern];
BOOL isMatch = [pred evaluateWithObject:telNumber];
if (telNumber.length != 11) {
return NO;
}
return isMatch;
}
/ * * 정규 일치 사용자 비밀번호 6 - 18 자리 숫자 와 알파벳 조합 * /
+ (BOOL)checkPassword:(NSString *) password;
+ (BOOL)checkPassword:(NSString *) password
{
NSString *pattern = @"^(?![0-9]+$)(?![a-zA-Z]+$)[a-zA-Z0-9]{6,18}";
NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", pattern];
BOOL isMatch = [pred evaluateWithObject:password];
return isMatch;
}
/ * * 정규 사용자 이름, 20 비트 중국어 또는 영어 * /
+ (BOOL)checkUserName : (NSString *) userName;
+ (BOOL)checkUserName : (NSString *) userName
{
NSString *pattern = @"^[a-zA-Z\u4E00-\u9FA5]{1,20}";
NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", pattern];
BOOL isMatch = [pred evaluateWithObject:userName];
return isMatch;
}
/ * * 정규 일치 사용자 주민등록번호 * /
+ (BOOL)checkUserIdCard: (NSString *) idCard;
+ (BOOL)checkUserIdCard: (NSString *) idCard
{
NSString *pattern = @"(^[0-9]{15}$)|([0-9]{17}([0-9]|X)$)";
NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", pattern];
BOOL isMatch = [pred evaluateWithObject:idCard];
return isMatch;
}
/ * * 정규 일치 URL * /
+ (BOOL)checkURL : (NSString *) url;
+ (BOOL)checkURL : (NSString *) url
{
NSString *pattern = @"^[0-9A-Za-z]{1,50}";
NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", pattern];
BOOL isMatch = [pred evaluateWithObject:url];
return isMatch;
}
4. 다른 정규 표현 식
^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$
^[\\u4e00-\\u9fa5]{0,}$
^\\w+$
[\\w!#$%&'*+/=?^_`{|}~-]+(?:\\.[\\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\\w](?:[\\w-]*[\\w])?\\.)+[\\w](?:[\\w-]*[\\w])?
^[1-9]\\d{7}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}$
18 위: ^[1-9]\\d{5}[1-9]\\d{3}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}([0-9]|X)$
^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$
^[0-9]+(.[0-9]{2})?$
^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\\d{8}$
^.*MSIE [5-8](?:\\.[0-9]+)?(?!.*Trident\\/[5-9]\\.0).*$
\\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\b
(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))
if (!s.match(/^[a-zA-Z]+:\\/\\//)){ s = 'http://' + s;}
^(f|ht){1}(tp|tps):\\/\\/([\\w-]+\\.)+[\\w-]+(\\/[\\w- ./?%&=]*)?
^([a-zA-Z]\\:|\\\\)\\\\([^\\\\]+\\\\)*[^\\/:*?"<>|]+\\.txt(l)?$
^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$
\\< *[img][^\\\\>]*[src] *= *[\\"\\']{0,1}([^\\"\\'\\ >]*)
(]*)(href="https?:\\/\\/)((?!(?:(?:www\\.)?'.implode('|(?:www\\.)?', $follow_list).'))[^"]+)"((?!.*\\brel=)[^>]*)(?:[^>]*)>
^\\s*[a-zA-Z\\-]+\\s*[:]{1}\\s[a-zA-Z0-9\\s.#]+[;]{1}
\\s]+))?)+\\s*|\\s*)\\/?>
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.