正規表示式,有稱為規則表示式(regular expression,在**中常簡寫為regex、regexp或re),是一種用來進行文字匹配的工具:用事先定義好的一些特殊字元及這些特殊字元的組合,組成乙個「規則字串」,這個「規則字串」用來表達對字串的一種過濾邏輯。
正規表示式由一些普通字元和一些元字元(metacharacters)組成,在ios中,多數用於檢查字串是否符合規則。
常用的符號及意義
匹配除換行符(「\r\n」)之外的任意單個字元
eg: 「a.[a-z]」: 表示乙個字串有乙個「a」後面跟著乙個任意字元和乙個小寫字
母。\w 匹配包括下劃線的任何單詞字元,等價於「[a-za-z0-9_]」
\w 匹配任何非單詞字元,等價於「[~a-za-z0-9_]」
\s 匹配任意的空白符(空格、製表符、換行符)
eg: [\\s] or \\s
\s 匹配任意非白符的字元
eg: [\\s] or \\s表示 6 到 24 位不為空格的字元
\d 匹配乙個數字字元,等價於 [0-9]
\d 匹配乙個非數字字元,等價於 [^0-9]
\b 匹配單詞的結尾或者開頭的字元
\b 匹配任意不是單詞結尾或開頭的字元
^ 匹配字串的開頭
$ 匹配字串的結尾
? 匹配一次或零次([0, 1]),等價於
eg: ab? 表示乙個字串有乙個 a 後面跟著零個或者乙個 b(a, ab);
匹配重複 n 次,表示乙個重複的具體範圍
eg: ab : 表示乙個字串有乙個 a 跟著 4 個b (abbbb);
ab: 表示乙個字串有乙個a 跟著至少乙個 1 個 b (ab, abb, abbb, …)
ab: 表示乙個字串有乙個a 跟著3到4個b (abbb, abbbb)
() 限定乙個子串
表示的值必須是括號中間集合的子集,括號裡面可以有多個集合,如[a-z0-9a-z]
表示匹配任意乙個大小寫或數字
[^] ^ 在 裡邊代表非的意思,如 [1
] 匹配非小寫字母的任意字元
| 表示或操作
?= 用圓括號包括,表示檢查符合括號內規則的字元,如:(?=[0-9]) 表示前 7 位
全為數字
?! 用圓括號包括,表示檢查不符合括號內規則的字元, 如: (?![0-9]) 表示前
7 位不全為數字
注:上述所列的內容僅為正規表示式一些常用的符號,對於一般的使用已可滿足。
3.1 在 ios中書寫正規表示式,碰到轉義字元,多加乙個「\」.
eg: @「\\d+$」 (純數字字元) \ 為轉義字元
3.2當正規表示式和字串函式都能解決問題時,一定要使用字串函式,這樣不容易
出錯,最重要的是字串函式比正規表示式實現效能上要好得多。
一般使用謂詞nspredicate來進行使用
當需要篩選的內容(limitcontent)符合篩選條件(limitcontent)時,limit的值為yes,反之為no
除了使用謂詞,還可以使用nsstring方法以及正規表示式類(nsregularexpression)
備註:本文整理與2023年11月(q),現將本地文件網路化。
a-z ↩︎
iOS 正規表示式
正規表示式,又稱正規表示法 常規表示法 英語 regular expression,在 中常簡寫為regex regexp或re 電腦科學的乙個概念。正規表示式使用單個字串來描述 匹配一系列符合某個句法規則的字串。在很多文字編輯器裡,正規表示式通常被用來檢索 替換那些符合某個模式的文字。系統自帶的,...
ios 正規表示式
ab7 必須找到連在一起的ab7 0 9 找到0 9中的乙個即可 0 9 找到0 9中的乙個即可 0123456789 找到0 9中的乙個即可 d表示數字,d表示3個數字連在一起 d d d表示3個數字連在一起 da表示3個數字2個a連在一起 d 2個或4個數字連在一起 表示開始 表示結束 d 開始...
iOS 正規表示式
1.前言 正規表示式是對字串操作的一種邏輯公式,就是用事先定義好的一些特定字元以及這些特定字元的組合,組成乙個規則字串,這個規則字串用來表達對字串的一種過濾邏輯。常見的用處就是匹配字串的合法性,擷取特定的字串等等。2.常見語法 語法說明 表示式例項 完整匹配的字串 一般字元 匹配自身 kity ki...