正則表達式快使用場景

平時寫Demo會需要用到一些假數據,往往會需要用到數組、字典等,這里分享一個使用技巧,通過正則表達式快速的制造數據

例如,我需要在一個列表中展示一組數據:

第一步:先快速的包裝一個數組

NSArray *demoArr = @[
                         @{@"name":@"", @"backgroundColor": [UIColor redColor]},
                         @{@"name":@"", @"backgroundColor": [UIColor redColor]},
                         @{@"name":@"", @"backgroundColor": [UIColor redColor]},
                         @{@"name":@"", @"backgroundColor": [UIColor redColor]},
                         @{@"name":@"", @"backgroundColor": [UIColor redColor]},
                         @{@"name":@"", @"backgroundColor": [UIColor redColor]},
                         @{@"name":@"", @"backgroundColor": [UIColor redColor]},
                         @{@"name":@"", @"backgroundColor": [UIColor redColor]},
                         @{@"name":@"", @"backgroundColor": [UIColor redColor]},
                         ];

數組中先寫了一個元素 , 然后進行CV操作

第二步:將backgroundColor對應的值來進行下處理,接下來只需要補充name的值即可,一般情況下,按照CV的方式把backgroundColor的值粘過去就行了,這里演示另外一種方式來實現

NSArray *demoArr = @[
                         
                         @{@"name":@"", @"backgroundColor": [UIColor redColor]},
                         @{@"name":@"", @"backgroundColor": [UIColor yellowColor]},
                         @{@"name":@"", @"backgroundColor": [UIColor purpleColor]},
                         @{@"name":@"", @"backgroundColor": [UIColor grayColor]},
                         @{@"name":@"", @"backgroundColor": [UIColor blueColor]},
                         @{@"name":@"", @"backgroundColor": [UIColor blackColor]},
                         @{@"name":@"", @"backgroundColor": [UIColor orangeColor]},
                         @{@"name":@"", @"backgroundColor": [UIColor greenColor]},
                         @{@"name":@"", @"backgroundColor": [UIColor cyanColor]},
                         
                         ];

第三步:使用正則表達式的方式,來補充前面缺少的部分 (關鍵部分)
1.復制一條數據 @"name":@"", @"backgroundColor": [UIColor redColor]
2.CMD+F快速查找,在Xcode頂部彈出的搜索欄中,點擊放大鏡按鈕

搜索.png

選擇Edit Find Options...選項
Edit Find Options.png

Matching Style后選擇Regular Expression
Regular Expression.png

3.選擇好后,將剛剛復制的一條數據粘貼到輸入框內
輸入框.png

4.因為存在[]中括號的原因,還不能進行匹配,需要進行轉義
@"name":@"", @"backgroundColor": \[UIColor redColor\]
這樣才能進行數據匹配(一行)
轉移后匹配數據.png

5.偽造數據中前面都一樣,只有后面的顏色不同,想要實現全部的匹配,需要將不同處進行通配處理
RedColor改為(.*?),這樣就通配了全部的數據
通配.png

6.填充前面缺失的內容,將Find改為Replacement
Replacement.png

7.將搜索框內的內容復制一份到下面的輸入框內,這里代表將要將匹配到的數據替換成的內容
將需要填充的地方加上$1(代表對應上面匹配條件的第一個小括號,如果有兩個括號,同理$2對應),除了前面需要將匹配到的顏色填充進去外,我們匹配到的數據原本顏色部分也需要改成$1, @"name":@"$1", @"backgroundColor": \[UIColor $1\]
替換.png

8.最后點擊Replace按鈕,一組假數據就制造完成了

NSArray *demoArr = @[
                         
                         @{@"name":@"redColor", @"backgroundColor": [UIColor redColor]},
                         @{@"name":@"yellowColor", @"backgroundColor": [UIColor yellowColor]},
                         @{@"name":@"purpleColor", @"backgroundColor": [UIColor purpleColor]},
                         @{@"name":@"grayColor", @"backgroundColor": [UIColor grayColor]},
                         @{@"name":@"blueColor", @"backgroundColor": [UIColor blueColor]},
                         @{@"name":@"blackColor", @"backgroundColor": [UIColor blackColor]},
                         @{@"name":@"orangeColor", @"backgroundColor": [UIColor orangeColor]},
                         @{@"name":@"greenColor", @"backgroundColor": [UIColor greenColor]},
                         @{@"name":@"cyanColor", @"backgroundColor": [UIColor cyanColor]},
                         
                         ];

雖然CV的方式不一定比這種方式慢,但多掌握一樣技能還是比較有用的.

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,923評論 18 139
  • Swift 介紹 簡介 Swift 語言由蘋果公司在 2014 年推出,用來撰寫 OS X 和 iOS 應用程序 ...
    大L君閱讀 3,301評論 3 25
  • 正則表達式到底是什么東西?字符是計算機軟件處理文字時最基本的單位,可能是字母,數字,標點符號,空格,換行符,漢字等...
    獅子挽歌閱讀 2,174評論 0 9
  • 218.241.181.202 wxhl60 123456 192.168.10.253 wxhl66 wxhl6...
    CYC666閱讀 1,439評論 0 6
  • 1、設置UILabel行間距 NSMutableAttributedString* attrString = [[...
    十年一品溫如言1008閱讀 1,718評論 0 3