正規表示式基礎 1

2021-07-10 08:05:58 字數 4454 閱讀 3779

常用元符號

**說明

.匹配除換行符以外的任意字元

\w匹配字母或數字或下劃線或漢字

\s匹配任意的空白符

\d匹配數字

\b匹配單詞的開始或結束

^匹配字串的開始

$匹配字串的結束 **

說明*重複零次或更多次

+重複一次或更多次

?重複零次或一次

重複n次

重複n次或更多次

重複n到m次 **

說明\w

匹配任意不是字母,數字,下劃線,漢字的字元

\s匹配任意不是空白符的字元

\d匹配任意非數字的字元

\b匹配不是單詞開頭或結束的位置

[^x]

匹配除了x以外的任意字元

[^aeiou]

匹配除了aeiou這幾個字母以外的任意字元

//只能是數字或英文,或者兩者都存在

方法一:

nsstring *regex=@"^[a-z0-9a-z]+$";

//建立謂詞物件設定條件表示式

nspredicate *predicate=[nspredicate predicatewithformat:@"self matches %@",regex];

//判斷的字串

nsstring *str=@"hello123";

//對字串進行判斷

if ([predicate evaluatewithobject:str])

方法二:

nsstring *url=@"helloworld2016";

nserror *error;

//建立

nsregularexpression *regex=[nsregularexpression regularexpressionwithpattern:@"^[a-z0-9a-z]+$" options:nsregularexpressioncaseinsensitive error:&error];

nsarray *array=[regex matchesinstring:url options:0 range:nsmakerange(0, url.length)];

for (nstextcheckingresult *result in array)

^表示匹配字串的開始,$表示匹配字串的結束,+表示重複一次或更多次,[a-z0-9a-z]表示匹配的內容為 (a…z或0…9或a…z)

//擷取制定內容 qq. 

nsstring *url=@"[email protected]";

nserror *error;

//建立

[^@] 表示匹配內容為不包含@, * 表示乙個或任意多個,.表示最後乙個字元為. ( \c表示最後乙個字元為c )

//匹配-開始0結束

nsstring *regex=@"\\-\\d*\\d0";

nsstring *str=@"-340aaaa";

nserror *error;

nsregularexpression *regular=[nsregularexpression regularexpressionwithpattern:regex options:nsregularexpressioncaseinsensitive error:&error];

nsarray *matches=[regular matchesinstring:str options:0 range:nsmakerange(0, str.length)];

//遍歷匹配後的每一條記錄

- 表示已-開始,\d* 表示重複零次或更多次,\d0表示已0結束

//  \b為元字元,代表單詞的開始和結束 .表示非空格字元  *表示數量

// \bxx\b

nsstring *url=@"hello zw";

//建立

nspredicate *predicate=[nspredicate predicatewithformat:@"self matches %@",@"\\bhello\\b.*\\bzw\\b"];

if ([predicate evaluatewithobject:url])

}

//匹配5-12個數字

nsstring *url=@"1111111111";

nserror *error;

//建立,匹配連續的5-12個數字

//1.為整個字元中有連續的5-12個數字

// nsregularexpression *regex=[nsregularexpression regularexpressionwithpattern:@"\\d" options:0 error:&error];

//2.為整個字串為5-12的

nsregularexpression *regex=[nsregularexpression regularexpressionwithpattern:@"^\\d$" options:0 error:&error];

if (!error)

}else

\d表示5-12個數字,{}表示範圍數

//匹配區域號碼

nsstring *url=@"0122-2222222";

nserror *error;

nsregularexpression *regex=[nsregularexpression regularexpressionwithpattern:@"0\\d-\\d|0\\d-\\d" options:0 error:&error];

if (!error)

}else

//匹配abc中任意乙個

nsstring *url=@"abcd";

nserror *error;

nsregularexpression *regex=[nsregularexpression regularexpressionwithpattern:@"[abc]" options:nsregularexpressioncaseinsensitive error:&error];

nsarray *matches=[regex matchesinstring:url options:0 range:nsmakerange(0, url.length)];

//遍歷匹配後的每一條記錄

for (nstextcheckingresult *matchs in matches)

//匹配除abc之外的

nsstring *url=@"abcd";

nserror *error;

// nsregularexpression *regex=[nsregularexpression regularexpressionwithpattern:@"^abc" options:0

error:&error];

//匹配除abc之外的

nsregularexpression *regex=[nsregularexpression regularexpressionwithpattern:@"[^abc]" options:0

error:&error];

if (!error)

}

//只能為中文或字母

nsstring *regex = @"^[a-za-z|\u4e00-\u9fa5]+$";

nspredicate *mobiletest = [nspredicate predicatewithformat:@"self matches %@

", regex];

// 是否為純英文

nsstring *regex = @"^[a-za-z]+$";

nspredicate *mobiletest = [nspredicate predicatewithformat:@"self matches %@

", regex];

正規表示式 1 正規表示式基礎

1.正規表示式基礎 正規表示式描述了一種字串匹配的模式,即可以使使用者通過一系列普通字元或特殊字元構建能夠明確描述文字字串的匹配模式,可以用來檢查某個字串是否含有某種子字串,將匹配的子字串做替換或者從某個字串中取出符合某個條件的子字串等。1.1 正規表示式的基本結構 乙個正規表示式就是由普通字元 如...

正規表示式基礎 1

正規表示式用於字串的查詢和替換,是使用單個字串來描述,匹配一系列符合某個句法規則的字串。安利乙個正則圖形化工具,可以在上面測試正則。js中提供了一些正則的方法 regexp.prototype.test string.prototype.match string.prototype.replace ...

正規表示式 1 初識正規表示式

簡單地說,正規表示式就是一套處理字串的規則和方法,以行為單位對字串進行處理,通過特殊的符號的輔助,我們可以快速的過濾,替換某些特定的字串。運維工作中,會有大量訪問日誌,錯誤日誌,大資料。如何能夠快速的過濾出我們需要的內容,這就需要正規表示式。awk,sed,grep egrep 三劍客要想能工作的更...