精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

詳解Visual Studio正則替換大法

開發(fā) 后端
在工作中,尤其是重構(gòu)的時(shí)候,對原有大批量的代碼進(jìn)行修改是一件很累人的工作,稍有不甚,可能就會有遺漏。本文今天就與大家一起探索Visual Studio中非常實(shí)用但卻鮮為人知的功能,Regex Replace(正則替換)。

某天,我遇到一堆這樣的代碼:

Visual Studio正則替換代碼片段

大家都看出來了,發(fā)現(xiàn)兩個(gè)問題:

1.       檢查是否為空的部分不是太合理;

2.       DataReader使用索引的方式很難維護(hù),要是查詢增加字段,那就只能在后面增加了。

團(tuán)隊(duì)中有人重寫了DataReader的方法,改進(jìn)了這兩點(diǎn),就是使用rdr.GetInt32(“ID”)這種使用字段名的訪問方式訪問數(shù)據(jù),另外還有一個(gè)重載,rdr.GetInt32(“ImageNumber”,0)這種為Null情況下賦默認(rèn)值的操作,現(xiàn)在我們就要開始對代碼就行重構(gòu)。

發(fā)現(xiàn)一個(gè)問題,直接用Find & Replace肯定不行,因?yàn)槔锩婕从邢嗤c(diǎn),又有不同點(diǎn),最主要的不同就是每一行的Index參數(shù)都不同。

于是開始在ReplaceFind Options里面找線索,發(fā)現(xiàn)最下方有一個(gè)Use,選中后可以選Regular ExpressionsWildcardsWildcards其實(shí)是類似于系統(tǒng)的文件搜索方式,用“*”匹配任意文本,由于不在本文今天的討論范圍之內(nèi),就不贅述了。

Visual Studio正則替換代碼片段

         
正則表達(dá)式相信大家都很熟悉了,但這里的正則和以往大家所熟悉的正則有點(diǎn)不同,語法上有點(diǎn)不同,他是專門用于Visual Studio的,詳細(xì)情往下看。

我們先開始搜索吧,先采集一段樣本,直接復(fù)制ID = rdr.GetValue(0) == DBNull.Value ? 0 : rdr.GetInt32(0)Find What輸入框中,點(diǎn)擊Find Next,發(fā)現(xiàn)提示“:”未知。

大家都想到了,正則中,很多符號都有自己定義的意思的,而我們這里不用他在正則中的意思,而是要搜索這個(gè)符號,所以我們要在有些符號前加上轉(zhuǎn)義符“\”,變成ID = rdr\.GetValue\(0\) == DBNull.Value ? 0 \: rdr\.GetInt32\(0\)”,話說有人就要問了,“=”“?”怎么就不用呢?難道沒有意思么?我的回答是:請參考http://msdn.microsoft.com/en-us/library/2k3te2cs.aspx  

其實(shí)也不用那么麻煩,直接點(diǎn)輸入框右邊的三角,就可以得到常用的符號列表:

現(xiàn)在點(diǎn)擊FindNext,發(fā)現(xiàn)已經(jīng)能找到第一條符合的了,現(xiàn)在我們要抽取公共的部分,改寫變化的部分,我們發(fā)現(xiàn)其實(shí)就是第一個(gè)部分的屬性名和兩個(gè)Index參數(shù)以及一個(gè)默認(rèn)值三部分是變化的,我們將FindWhat改寫為:“:i=rdr\.GetValue\(:z\)==DBNull.Value?:z\:rdr\.GetInt32\(:z\)”,其中,:i表示Identifier,:z表示Integer。

現(xiàn)在我們再點(diǎn)擊FindNext發(fā)現(xiàn)找到了,再點(diǎn)一下,發(fā)現(xiàn)問題了,還是這句,只是開頭的變量名被高亮的部分少了一個(gè)字符,發(fā)現(xiàn)問題就要解決啊!我們?yōu)?i加上單詞邊界符”<“和”>”,整句就變成”<:i>=rdr\.GetValue\(:z\)==DBNull.Value?:z\:rdr\.GetInt32\(:z\)”,再點(diǎn)FindNext。發(fā)現(xiàn)終于成功了。

以上是查找部分,你會了么?接下來就要進(jìn)行我們激動人心的替換了!
我總結(jié)了一句話:用"{}"包圍起不變的變化,用"\index"恢復(fù)她

解釋一下,什么叫不變的變化呢?就如以上所示的“<:i>”,他是一個(gè)變量,每一行的都不同,所以他是變化的,而替換后的結(jié)果要求這些變化要保留,就是變量名替換后還是原來的。
比如:ID=xxxx;
Name=xxxx;
替換后要為:ID=yyyy;
Name=yyyy;

好!現(xiàn)在開始實(shí)施這句話,將”<:i>”變?yōu)椤?lt;{:i}>“。因?yàn)樗饕凳且獟仐壍模J(rèn)值是要保留的,所以整句話就變成<{:i}>=rdr\.GetValue\(:z\)==DBNull.Value?{:z}\:rdr\.GetInt32\(:z\)。
在ReplaceWith當(dāng)中,我們寫上要替換成的語句!注意:在ReplaceWith中,因?yàn)椴恍枰M(jìn)行正則查找,所以符號可以直接輸,不用“\”轉(zhuǎn)義,但”\”別有他用,用”\index”表示搜索式中被標(biāo)記的第index個(gè)內(nèi)容,index從1開始,"\0“表示搜索到的原內(nèi)容。所以我們的ReplaceWith填\1=rdr.GetInt32("\1",\2)開始替換。

替換前:

Visual Studio正則替換代碼片段替換前


替換后:

Visual Studio正則替換代碼片段替換后

 大家可能發(fā)現(xiàn)了,只替換了一部分GetInt32的,還有一堆GetString的,這里就留給大家去研究了!

我總結(jié)一下今天我們搜索條件的變化,給大家一個(gè)明顯的思路提示。

1.取樣:ID=rdr.GetValue(0)==DBNull.Value?0:rdr.GetInt32(0)

2.轉(zhuǎn)義:ID=rdr\.GetValue\(0\)==DBNull.Value?0\:rdr\.GetInt32\(0\)

3.抽象::i=rdr\.GetValue\(:z\)==DBNull.Value?:z\:rdr\.GetInt32\(:z\)

4.縮范:<:i>=rdr\.GetValue\(:z\)==DBNull.Value?:z\:rdr\.GetInt32\(:z\)

5.標(biāo)記:<{:i}>=rdr\.GetValue\(:z\)==DBNull.Value?{:z}\:rdr\.GetInt32\(:z\)

6.替換:\1=rdr.GetInt32("\1",\2)

怎么樣?這個(gè)正則不太繁吧!
 

【編輯推薦】

  1. Visual Studio 2010應(yīng)用與開發(fā)詳解
  2. C# 4.0新特性dynamic作用淺析
  3. C# 2010協(xié)變和逆變的新特性
  4. Visual Studio 2010 Beta1試用手記
  5. Visual Studio 2010重要新功能一覽
責(zé)任編輯:彭凡 來源: cnblogs
相關(guān)推薦

2009-12-16 15:44:20

Visual Stud

2011-03-28 09:23:31

Visual Stud

2010-07-27 09:40:01

敏捷Visual Stud

2010-03-11 14:37:47

Visual StudScrum

2010-07-29 09:41:23

Visual Stud

2010-08-23 09:14:18

Visual Stud

2010-02-05 09:06:17

Visual Stud

2009-11-24 09:00:02

Visual Stud

2009-12-15 09:36:32

Visual Stud

2010-01-27 10:32:40

Visual Stud

2011-06-29 09:42:12

Visual Stud Qt Opensource

2010-03-19 16:43:37

Visual Stud

2009-09-24 10:10:07

Visual Stud

2010-04-01 14:51:52

Visual Stud

2023-10-12 08:41:36

C# 開發(fā)工具

2010-07-12 16:40:39

Visual Stud

2010-12-16 10:00:20

QtVisual Stud

2009-11-18 09:14:49

Visual Stud

2010-01-14 14:12:14

Visual Stud

2010-01-22 09:51:31

Visual Stud
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

日本aⅴ大伊香蕉精品视频| 日韩网站在线看片你懂的| 美女主播视频一区| 波多野结衣家庭主妇| 日韩88av| 欧美精品一区二区三区四区| 男女av免费观看| 日本a级在线| 成a人片国产精品| 国产精品福利小视频| 加勒比婷婷色综合久久| 日本成人a网站| 欧美日韩国产首页| www.亚洲视频.com| 福利在线午夜| 丁香另类激情小说| 国产精品一区二区3区| 久久免费视频6| 欧美日韩一二三四| 亚洲电影在线观看| 日本中文字幕二区| 午夜精品三级久久久有码| 蜜桃一区二区| 日韩精品一区二区三区视频播放 | 久久精品青草| 国产视频自拍一区| 韩国三级丰满少妇高潮| 三级成人在线| 五月综合激情网| 国产四区在线观看| 中文字幕一区二区三区免费看| 欧美在线网址| 中文综合在线观看| 捆绑裸体绳奴bdsm亚洲| 欧美午夜网站| 欧美色图第一页| 能在线观看的av| 污污视频在线| 中文字幕日韩欧美一区二区三区| 国产精品视频26uuu| 亚洲视频免费播放| 综合色一区二区| 中文字幕亚洲一区在线观看 | 国产丰满果冻videossex| 水蜜桃久久夜色精品一区的特点| 久久久久久久影院| 男人操女人的视频网站| 久久亚洲精品中文字幕蜜潮电影| 亚洲欧美综合v| 国产乱了高清露脸对白| 国产图片一区| 精品卡一卡二卡三卡四在线| 最好看的中文字幕| 亚洲高清在线一区| 日韩片之四级片| 欧美熟妇精品一区二区| 精品国产三区在线| 欧美精品tushy高清| 五月天婷婷亚洲| 粉嫩av国产一区二区三区| 欧美写真视频网站| 亚洲综合在线网站| 成人视屏在线观看| 欧洲av在线精品| 天天干天天爽天天射| 国产91亚洲精品久久久| 欧美日韩免费视频| 97超碰人人爽| 清纯唯美激情亚洲| 日韩美女视频在线| 亚洲精品无码一区二区| 国产伦精品一区二区三区免费优势| 欧美精品一区二区久久婷婷| 99久久人妻精品免费二区| 欧美理伦片在线播放| 亚洲精品日韩在线| 成年人在线免费看片| 91麻豆国产自产在线观看亚洲 | 2019男人天堂| 国产精品毛片久久| 欧美高清视频一区二区| 国产午夜福利精品| 日日摸夜夜添夜夜添国产精品| 国产精品美女久久久免费| 中文字幕制服诱惑| 国产乱码精品一区二区三区av | 亚洲综合无码一区二区| 99在线精品免费视频| 日韩av中字| 欧美精品xxxxbbbb| 日韩免费高清一区二区| 国产欧美日韩免费观看| 欧美成人午夜视频| av黄色在线看| 久久精品国产亚洲a| 1卡2卡3卡精品视频| 日韩精品系列| 亚洲欧美福利一区二区| 香港三级韩国三级日本三级| 国产精品美女午夜爽爽| 欧美r级电影在线观看| 国产女主播喷水高潮网红在线| 午夜片欧美伦| 国产ts人妖一区二区三区| 91女人18毛片水多国产| av一区二区久久| 在线观看日韩羞羞视频| 三妻四妾的电影电视剧在线观看| 欧美精选午夜久久久乱码6080| 国产黑丝在线观看| 99精品美女| 日本精品久久电影| www.亚洲天堂.com| 中文乱码免费一区二区| 欧美视频在线免费播放| 性欧美video另类hd尤物| 日韩精品在线播放| 免费网站看av| 精品一区二区三区在线观看国产| 蜜桃91精品入口| 午夜激情在线| 在线不卡的av| 香蕉视频久久久| 亚洲美女一区| av在线亚洲男人的天堂| 午夜伦理在线| 欧洲一区在线电影| 中文字幕免费看| 一区在线视频| 亚洲自拍偷拍色片视频| 最新真实国产在线视频| 狠狠色狠狠色综合日日小说| 被黑人猛躁10次高潮视频| 91久久夜色精品国产按摩| 国产成人精品午夜| 五月天激情开心网| 亚洲一二三四区| 欧美性猛交xx| 欧美日韩1080p| 亚洲最大成人免费视频| 黄在线免费观看| 91精品国产综合久久久久久| 精品国产国产综合精品| 免费观看久久久4p| 亚洲成人一区二区三区| 成人日韩在线| 在线观看久久久久久| 日韩综合在线观看| 久久久久久久免费视频了| 99热在线这里只有精品| 亚欧洲精品视频在线观看| 97色在线观看| 欧美拍拍视频| 在线中文字幕不卡| 在线观看免费小视频| 日韩av中文字幕一区二区三区 | 91人妻一区二区| 欧美在线视屏| 国产精品一区二区av| 欧美videos另类精品| 精品国产亚洲一区二区三区在线观看| 欧美日韩国产精品一区二区三区| 国产成人精品亚洲午夜麻豆| 轻点好疼好大好爽视频| 国产suv精品一区二区四区视频| 欧美大片在线影院| 欧美一级特黄aaaaaa| 精品国产鲁一鲁一区二区张丽| 国产精品无码久久久久久| 老司机午夜精品视频| 三区精品视频| 亚洲三级电影| 高清一区二区三区日本久| 无码国产精品高潮久久99| 色狠狠综合天天综合综合| 国产精品久久免费观看| 国产伦精品一区二区三区免费迷| 日本免费a视频| 综合伊思人在钱三区| 国产又爽又黄的激情精品视频| 在线三级电影| 精品亚洲国产成av人片传媒| 中文字幕精品一区二| 国产精品美女久久久久久久久| japan高清日本乱xxxxx| 亚洲伦理精品| 亚洲不卡1区| 日韩成人精品一区二区三区| 欧美黑人国产人伦爽爽爽| 亚洲日本中文字幕在线| 欧美午夜视频网站| 久久国产在线观看| 久久久国产精华| 丰满少妇中文字幕| 久久久久.com| 亚洲精品国产suv一区88| 国产精品三级| 国产精品日韩高清| 岛国精品在线| 777国产偷窥盗摄精品视频| 午夜视频在线观看网站| 亚洲精品第一国产综合精品| 91好色先生tv| 一本大道综合伊人精品热热| 中文字幕亚洲欧美日韩| 久久久精品黄色| 成人欧美精品一区二区| 免费观看日韩av| 久久精品国产精品亚洲色婷婷| 欧美超碰在线| 久久久久天天天天| 日韩一区二区三区精品| 国产精品久在线观看| 欧美男男tv网站在线播放| 久久久av免费| www五月天com| 有码一区二区三区| аⅴ天堂中文在线网| 成人精品电影在线观看| 182午夜视频| 日本视频在线一区| 免费一级特黄毛片| 在线观看日韩| 永久域名在线精品| 国产尤物久久久| 精品综合在线| 亚洲视频精选| 99国产在线| 亚洲久草在线| 国产精品美女主播| 欧美7777| 国产suv精品一区二区三区88区| 美女高潮在线观看| 欧美黄色片免费观看| av在线网址观看| 久久亚洲精品成人| a中文在线播放| 亚洲亚裔videos黑人hd| 亚洲 欧美 激情 小说 另类| 精品国产免费久久| 亚洲精品喷潮一区二区三区 | 日本在线观看视频一区| 免费av网站大全久久| 日本男人操女人| 日韩成人精品视频| 亚洲中文字幕久久精品无码喷水| 国产精品亚洲综合色区韩国| 尤物av无码色av无码| 99热免费精品| 亚洲自偷自拍熟女另类| 性xx色xx综合久久久xx| 久久久久久久激情| 久久久噜噜噜| 91人人澡人人爽人人精品| 久久久精品日韩| www.夜夜爽| 激情文学综合插| 人妻av一区二区三区| 成人午夜视频在线| 国产极品一区二区| 久久综合国产精品| 亚洲精品国产91| 国产精品网站在线观看| 国产91在线播放九色| 亚洲天堂免费看| 精品午夜福利在线观看| 午夜精品久久久久久久久| 毛片视频网站在线观看| 在线观看亚洲一区| 91在线精品入口| 精品日韩一区二区| 性xxxx视频| 在线观看欧美日韩国产| 好吊日视频在线观看| 欧美—级a级欧美特级ar全黄| 黄色在线观看www| 国产成人福利视频| 97久久精品一区二区三区的观看方式| 成人亚洲欧美一区二区三区| 99re热精品视频| 日产精品高清视频免费| 综合亚洲视频| 成人综合视频在线| 久久精品久久综合| 亚洲av午夜精品一区二区三区| 久久理论电影网| 在线观看亚洲网站| 精品动漫一区二区| 中文字幕91爱爱| 精品噜噜噜噜久久久久久久久试看 | 国产综合免费视频| 一本久久综合| 天天操天天干天天做| 暴力调教一区二区三区| 成人无码av片在线观看| 艳妇臀荡乳欲伦亚洲一区| 久久精品无码av| 日韩一区二区在线免费观看| 日韩成人黄色| 欧美日韩成人网| 成人av色网站| 国产综合动作在线观看| 欧美超碰在线| av网址在线观看免费| 韩国三级中文字幕hd久久精品| 黄色片视频免费观看| 综合久久久久久| 亚洲大片免费观看| 日韩精品一区二区三区在线| 91精品国产综合久久久久久豆腐| 久久男人av资源网站| 高清一区二区| 热re99久久精品国产99热| 好看的日韩av电影| 岛国毛片在线播放| 91蝌蚪porny| 久久国产精品波多野结衣| 欧美精品v日韩精品v韩国精品v| 日本大臀精品| 国语自产偷拍精品视频偷| 亚洲精品一区av| 天天好比中文综合网| 国产精品久久777777毛茸茸 | 日韩综合视频在线观看| 一个人www视频在线免费观看| 2014国产精品| 99精品综合| 韩国中文字幕av| 久久色在线视频| 五月婷婷激情网| 精品黑人一区二区三区久久| 黄色成人影院| 成人做爽爽免费视频| 日韩激情一区| 美女一区二区三区视频| 久久久久国产精品麻豆| 在线能看的av| 亚洲激情久久久| av不卡高清| 精品1区2区| 亚洲欧美日韩国产一区二区| 亚洲一区二区在线免费| 午夜欧美在线一二页| 亚洲精品喷潮一区二区三区| 欧美国产日韩中文字幕在线| av不卡一区二区| 91免费黄视频| a美女胸又www黄视频久久| 五月天婷婷丁香| 亚洲电影免费观看高清完整版在线观看 | 多野结衣av一区| 国产91视觉| 亚洲成人在线| 久久一区二区电影| 精品福利在线视频| 日本中文字幕一区二区有码在线| 8090成年在线看片午夜| 久久爱www成人| 日本成人在线免费视频| 国产欧美一区二区精品性| 在线观看免费中文字幕| xvideos亚洲人网站| 懂色av色香蕉一区二区蜜桃| youjizz.com在线观看| 懂色av中文字幕一区二区三区| 国产精品第一页在线观看| 日韩av在线不卡| 日韩一级二级| 26uuu成人| 不卡一区在线观看| 日韩视频在线观看一区| 在线播放国产一区二区三区| va天堂va亚洲va影视| 成人免费看片'免费看| 91网上在线视频| 人妻中文字幕一区二区三区| 久久亚洲欧美日韩精品专区| 成人另类视频| caoporn超碰97| 亚洲欧美欧美一区二区三区| 手机看片国产1024| 国产精品欧美日韩| 黑人一区二区| 最新中文字幕av| 精品久久久久99| 欧美色网在线| 999久久欧美人妻一区二区| 久久噜噜亚洲综合| 国产亲伦免费视频播放| 91精品国产网站| 手机亚洲手机国产手机日韩| 日本三级日本三级日本三级极| 色噜噜偷拍精品综合在线| 很黄的网站在线观看| 鲁丝片一区二区三区| 国模少妇一区二区三区| 国产无人区码熟妇毛片多| 久久人人爽亚洲精品天堂| 国产精品色在线网站| 三级a在线观看|