你好,歡迎來到IOS教程網

 Ios教程網 >> IOS使用技巧 >> IOS技巧綜合 >> 正則表達式

正則表達式

編輯:IOS技巧綜合
[摘要]本文是對正則表達式的講解,對學習IOS蘋果軟件開發有所幫助,與大家分享。

參考網址:

http://deerchao.net/tutorials/regex/regex.htm

匹配字符:

[]-----表示匹配一個字符

^-----匹配字符串的開始,如果不在[]裡面表示以什麼開頭,在[^]表示不是那些字符

$-----匹配字符串的結束

.-----點表示匹配除換行符之外的任意字符

匹配字符取反:

\W-----匹配非(字母或數字或下劃線或漢字)

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

\D-----匹配非(數字字符)

\d-----匹配(數字字符)

\S-----匹配非(空白字符)

\s-----匹配(空白字符)

匹配次數:

{n}-----指定出現的次數

{m,n}-----最少出現m次,最多出現n次

{m,}-----最少出現m次,最多無限次

?-----重復0次或1次

+-----重復1次或多次

*-----重復0次或多次

正則表達式示例:

abc-----匹配abc

[a-z][0-9]-----包含一個小寫字母,後面必須跟一個0-9的數字

[a-zA-Z][0-9]或者[a-z,A-Z][0-9]-----逗號可寫可不寫,包含一個字母,後面必須跟一個0-9的數字

[a-zA-Z][0-9]{4,9}-----包含一個字母,後面跟上4-9個數字(數字范圍0-9)

^[1-9][0-9]{4,11}$-----QQ號碼匹配,以1-9的數字開頭,後面跟0-9(4-11個)的數字,一共5-12個數字,^表示開始匹配,$表示結束匹配

^1[3,5,7,8]\\d{9}$或者^1[3,5,7,8][0-9]{9}$-----手機號碼匹配,以13/15/17/18開頭,長度11的數字

^[^0-9]-----不能是數字開頭

 1 class ViewController: UIViewController {
 2     
 3     override func viewDidLoad() {
 4         super.viewDidLoad()
 5         regularExpressionDemo()
 6     }
 7     
 8     private func regularExpressionDemo() -> (){
 9         // 源字符串
10         let str = "中國中國abc23872367中國中國"
11         
12         // 根據正則表達式進行匹配
13         // pattern:正則表達式
14         // options:匹配選項,如忽略大小寫等,傳[]即可
15         // range:匹配的范圍
16         let matchResult = try! NSRegularExpression(pattern: "abc", options: []).matches(in: str, options: [], range: NSMakeRange(0, (str as NSString).length))
17         
18         // 遍歷匹配結果
19         for match in matchResult{
20             // 匹配的范圍
21             let range = match.range
22             
23             // 根據匹配的范圍截取出符合條件的字符串
24             let subText = (str as NSString).substring(with: range)
25             
26             print("匹配范圍:\(NSStringFromRange(range));截取的字符串:\(subText)")
27         }
28     }
29 }
  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved