精品欧美一区二区三区在线观看 _久久久久国色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ù)棧公眾號

91干在线观看| 欧美亚洲一区三区| 国产一区在线免费| 97人妻一区二区精品视频| 久久五月天小说| 日韩欧美中文字幕精品| 日韩avxxx| 日本亚洲精品| www.日本不卡| 成人免费网站在线看| 天天操天天干视频| 婷婷久久综合| 亚洲男人天堂2023| 中文字幕久久久久久久| 日韩av首页| 一区二区国产视频| 亚洲国产精品视频一区| 黄色av网站免费在线观看| 日本免费在线视频不卡一不卡二| 欧美黑人性生活视频| 91大神福利视频| 性欧美xxxx免费岛国不卡电影| 69p69国产精品| 久久久免费视频网站| 天使と恶魔の榨精在线播放| 欧美国产日韩a欧美在线观看| 超碰97在线资源| 亚洲综合网av| 日韩av中文在线观看| 97国产一区二区精品久久呦| av成人免费网站| 久久免费大视频| 亚洲欧美日韩一区在线| 日韩精品人妻中文字幕有码| 日韩区欧美区| 欧美精品亚洲二区| 波多野结衣xxxx| 日本在线中文字幕一区二区三区| 亚洲成人高清在线| 欧美黑人在线观看| 影院在线观看全集免费观看| 亚洲色图欧美激情| 亚洲一区二区自拍偷拍| 波多野结衣在线影院| www激情久久| 久久99影院| 亚洲 小说区 图片区 都市| 国产成人免费视频一区| 超碰97人人人人人蜜桃| 亚洲黄色片视频| 国产精品影视在线观看| 91欧美激情另类亚洲| 在线视频你懂得| 久久精品国产一区二区三区免费看| 国产精品18久久久久久麻辣| 无码人妻一区二区三区线| 亚洲在线国产日韩欧美| 2019中文字幕在线| 黄色av一级片| 男女视频一区二区| 国产精品爽爽爽爽爽爽在线观看| 少妇又紧又色又爽又刺激视频| 久久精品日产第一区二区 | 99国产精品| 97婷婷涩涩精品一区| 亚洲黄色三级视频| 国产精品丝袜xxxxxxx| 91精品国产电影| 国产剧情在线视频| 日本成人在线视频网站| 国产欧美一区二区白浆黑人| 国产精品九九九九| 国产91在线看| 精品视频在线观看| 国产高清一级毛片在线不卡| 国产精品嫩草久久久久| 男女啪啪的视频| 国产嫩草在线视频| 欧美性xxxx18| www.com黄色片| 99国产精品免费网站| 日韩成人av在线播放| 一级特黄曰皮片视频| 香蕉国产精品| 97视频免费在线看| 69国产精品视频免费观看| 久久精品国产色蜜蜜麻豆| 5g国产欧美日韩视频| 污视频在线免费观看| 中文字幕乱码亚洲精品一区| 亚洲天堂第一区| 精品三级久久| 欧美日韩一区二区电影| 天天躁日日躁狠狠躁av| 精品国产精品| 欧美极品少妇全裸体| 亚洲中文无码av在线| 国产精品白丝jk白祙喷水网站| 精品无人区一区二区三区| 9191在线观看| 激情小说亚洲色图| 亚洲人成色777777精品音频| 在线成人精品视频| 天堂v在线观看| 亚洲精品亚洲人成在线观看| 亚洲男人的天堂网站| 99精品中文字幕| 在线综合亚洲| 92看片淫黄大片欧美看国产片| 亚洲精品成人电影| 欧美激情一区二区三区四区| 久久精品无码中文字幕| 78精品国产综合久久香蕉| 欧美电影免费提供在线观看| 亚洲精品国产精品国自| 91久久夜色精品国产九色| 国产美女91呻吟求| 色播色播色播色播色播在线 | www.免费av| 中文字幕午夜精品一区二区三区| 日韩av不卡电影| 国产91免费在线观看| 国产精品欧美一级免费| 女人和拘做爰正片视频| 一区二区在线视频观看| 日韩在线免费观看视频| 老熟妇仑乱一区二区av| 成人做爰69片免费看网站| 一区二区三区国产福利| 欧美日韩成人影院| 日韩精品中文字幕在线观看| 久久久精品人妻一区二区三区四 | 欧美性生交xxxxxdddd| 最好看的中文字幕| 久久精品亚洲人成影院| 国产精品老牛影院在线观看| 嫩草研究院在线| 红桃av永久久久| 国产精品无码一区二区三| 韩日欧美一区| 成人蜜桃视频| 欧美hdxxx| 日韩视频在线永久播放| 精品国产视频在线观看| 精品一区二区三区香蕉蜜桃| 亚洲国产一区二区三区在线| 国产日韩另类视频一区| 亚洲美女精品久久| 亚洲天堂av片| 久久先锋影音av| 国产精品视频一区二区三区四区五区| 国产成人福利av| 午夜精品视频在线| 欧美 日韩 国产 成人 在线 91 | www亚洲视频| 91老师片黄在线观看| 成人免费在线小视频| 全球av集中精品导航福利| 91精品国产精品| 嫩草研究院在线观看| 一本一道久久a久久精品| 最近中文字幕在线mv视频在线 | 色鬼7777久久| 在线观看免费一区| 国产精品18在线| 国产精品一区在线| 丰满的少妇愉情hd高清果冻传媒| 另类尿喷潮videofree| 欧美中文字幕在线视频| 国产乱视频在线观看| 欧美午夜在线一二页| 亚洲天堂网av在线| 成人免费的视频| 国产成人a亚洲精v品无码| 国产伦精品一区二区三区千人斩| 国产精品嫩草影院一区二区| 国产网站在线免费观看| 欧美精品一区二区在线播放| 黄网在线观看视频| 亚洲国产精品99久久久久久久久| 特级西西444www| 亚洲激情黄色| 神马影院午夜我不卡| 国产精品亚洲欧美一级在线| 国内精品久久久久久久| 麻豆app在线观看| 91精品婷婷国产综合久久竹菊| 国产污片在线观看| 国产欧美精品一区二区色综合| 午夜影院免费观看视频| 亚洲久久一区二区| 亚洲午夜高清视频| 高清日韩中文字幕| 国产精品视频99| 高清电影在线免费观看| 一本一本久久a久久精品综合小说 一本一本久久a久久精品牛牛影视 | 欧美激情影音先锋| 国产在线网站| 日韩女优av电影在线观看| 特级毛片www| 亚洲色图另类专区| 中文字幕在线1| 国产.欧美.日韩| 天天爽夜夜爽一区二区三区| 伊人狠狠色j香婷婷综合| 亚洲欧洲国产精品久久| 久久精品凹凸全集| 亚洲专区国产精品| 日本成人伦理电影| 午夜精品久久久久久久99热| 免费大片黄在线| 亚洲免费av片| 成人午夜免费在线观看| 成人羞羞网站入口免费| 国产精品v一区二区三区| 日韩在线一二三区| 一区二区三区四区在线播放| 国产网站欧美日韩免费精品在线观看| 精品亚洲精品福利线在观看| 丁香色欲久久久久久综合网| 欧美高清hd| 国产成人在线一区二区| 1234区中文字幕在线观看| 久久久精品电影| 高清av在线| 国产午夜精品麻豆| 免费观看黄一级视频| 欧美一区二区不卡视频| 中文字幕视频二区| 色综合久久88色综合天天6| 国产第一页在线播放| 亚洲伦理在线精品| 最新日韩免费视频| 国产视频一区在线播放| 国产美女视频免费观看下载软件| 国产精品99久久久| 国产高清999| 精品一区中文字幕| 在线观看免费av网址| 日本va欧美va欧美va精品| 人妻熟女一二三区夜夜爱| 99视频一区| 欧美日韩性生活片| 99精品免费视频| 18禁网站免费无遮挡无码中文 | 亚洲免费视频一区二区| 婷婷视频在线观看| 亚洲精品电影在线| 天天综合在线视频| 国产视频久久网| 国产在线观看免费| 一本久久综合亚洲鲁鲁| 国产福利在线| 国产成人精品影视| 五月天在线免费视频| 91精品国产自产在线观看永久∴| 亚洲欧美在线网| 天天久久综合| 免费观看中文字幕| 国语精品一区| 91九色在线观看视频| 亚洲欧美日韩综合国产aⅴ| 国产精品亚洲a| 日本免费新一区视频| 中文字幕丰满乱码| 国产一区二区免费视频| 少妇欧美激情一区二区三区| 成人高清视频在线观看| 97人妻精品一区二区三区免| 久久久久国产精品厨房| 在线观看亚洲大片短视频| 亚洲视频在线一区二区| 欧美日韩精品一区二区三区视频播放| 一区二区三区在线免费播放| 国产无码精品视频| 色综合久久精品| 97精品人妻一区二区三区在线| 日韩写真欧美这视频| 亚洲色图21p| 色婷婷成人综合| 日本理论片午伦夜理片在线观看| 韩国视频理论视频久久| 国精产品一区一区三区四川| 91亚洲精品视频| 欧美色资源站| 亚洲精品在线观看免费| 韩国欧美一区| 亚洲 欧美 日韩系列| 国产精品一区二区男女羞羞无遮挡| 国产日韩视频一区| 国产欧美精品区一区二区三区| 欧美xxxooo| 精品久久久久久久久久久久久久| 成人免费一区二区三区| 精品福利在线导航| 国产原创av在线| 欧美日韩成人黄色| 欧美不卡高清一区二区三区| 99porn视频在线| 国内成人精品| 一本久道高清无码视频| 美女视频黄频大全不卡视频在线播放| 四虎精品一区二区| 欧美激情一区在线观看| 日韩黄色a级片| 在线成人av影院| 欧美巨乳在线| 久久久久久国产三级电影| 国产福利亚洲| 久久久久资源| 国产字幕视频一区二区| 伊人影院综合在线| 国产亚洲欧美在线| 精品一区免费观看| 欧美一区二区三区成人| 成人亚洲综合天堂| 欧美自拍视频在线观看| av综合网址| 久久精品在线免费视频| 久久精品国产成人一区二区三区| 91av在线免费| 亚洲第一精品在线| 国产ts变态重口人妖hd| 色偷偷偷亚洲综合网另类| 希岛爱理一区二区三区av高清| 国产一区免费在线观看| 国产综合精品一区| 99中文字幕在线| 亚洲丝袜制服诱惑| 亚洲最大成人av| 色yeye香蕉凹凸一区二区av| 日本电影欧美片| 欧美久久在线| 亚洲欧美视频一区二区三区| 亚洲av成人片色在线观看高潮| 亚洲一区精品在线| 亚洲成人久久精品| 欧美老女人在线视频| 久久久久久亚洲精品美女| 免费观看中文字幕| 国产在线精品免费av| 天天做夜夜爱爱爱| 91精品国产综合久久久蜜臀粉嫩| 日本在线观看网站| 成人自拍性视频| 亚洲电影在线一区二区三区| 国产5g成人5g天天爽| 亚洲欧美日韩国产一区二区三区 | 欧美1234区| 99热在线播放| 亚洲激情网站| 欧美 日本 国产| 一本大道综合伊人精品热热| 久久av少妇| 国产精品一区电影| 性欧美69xoxoxoxo| 欧美人与性动交α欧美精品 | 日韩精品一区二区亚洲av| 日韩精品免费视频| 欧美91看片特黄aaaa| 日韩av免费电影| 久久国产精品一区二区| 乱h高h女3p含苞待放| 精品国产乱码久久久久久夜甘婷婷 | 亚洲精品水蜜桃| 后入内射欧美99二区视频| 91av在线免费观看| 国产精品一区二区99| 九九九九九国产| 亚洲一区二区在线免费看| 四虎影视精品成人| 国产精品久久久久久网站| 91成人超碰| www.17c.com喷水少妇| 日本二三区不卡| 伊人影院在线视频| 欧美精品亚洲| 黑人精品欧美一区二区蜜桃| 精品亚洲永久免费| 一本色道久久综合狠狠躁篇的优点 | 亚洲va欧美va国产综合久久| 午夜国产一区| 国产精品一区二区入口九绯色| 欧美日韩亚洲综合一区二区三区| 18+激情视频在线| 久久久神马电影| 国产在线观看一区二区| 九九热在线视频播放| 最近2019中文字幕在线高清| 国产一区二区三区亚洲综合| 六月婷婷在线视频| 中文字幕一区二区三区乱码在线| 成人午夜免费福利| 国产欧美精品日韩| 亚洲精品欧美| 国产精品成人69xxx免费视频| 日韩电影第一页| 自拍偷拍亚洲| 成人在线看视频| 亚洲一区二区欧美|