嘿嘿,今天家又停電啦,就來寫總結晚啦,只得等到現在啦,其實我們今天學習的是什么我已經不記得啦,由於這周給我們講.Net的老師飛去給其他班級上課,於是我們就聽課啦,而公司為了搪塞我們,給我們安排啦一個Oracle數據庫老師,本以為可以學到這個是我們的榮幸啦,可是意想不到的是坐在第一排的我們都難以聽到老師是什么,這個是給老師提建議啦,可是改變不了啊,這樣的一天,課堂氣氛甚是安靜啊,我們100度的學習熱度,最后一點點的下降到了零下,其實今天僅僅帶我們安裝Oracle數據庫,可想而知,我們下載完文件,也沒有安裝成功,這樣的一天就是這樣結束的,我們學生痛苦啊,我們在想想公司反映還是自己學習吧,但是想啦一下,老師也是無辜的吧,不想打擊她啦,於是我們選擇默默地上課吧,默默祈禱這周安靜的快點成為記憶拉。
不論因為什么原因,學習的每一天是不能落下的,於是自己看啦一下正則表達式,其實正則表達式是用來進行文本處理的技術,是語言無關的,在幾乎所有語言中都有實現。javascript中還會用到,一個正則表達式就是由普通字符以及特殊字符(稱為元字符)組成的文字模式。該模式描述在查找文字主體時待匹配的一個或多個字符串。正則表達式作為一個模板,將某個字符模式與所搜索的字符串進行匹配。就像通配符“*.jpg”、“%ab%”,它是對字符串進行匹配的特殊字符串,正則表達式能做什么那?其實正則表達式就是對字符串的處理,可以用來對字符串的匹配、字符串的提取、字符串的替換等;我們在項目中像做到采集器、敏感詞過濾、URLRewite、Validator也可以使用正則表達式。下面就簡單的總結一下吧。
一.元字符
匹配中文字符的正則表達式: [\u4e00-\u9fa5] 匹配雙字節字符(包括漢字在內):[^\x00-\xff] 應用:計算字符串的長度(一個雙字節字符長度計2,ASCII字符計1) String.prototype.len=function(){return this.replace([^\x00-\xff]/g,"aa").length;} 匹配空行的正則表達式:\n[\s| ]*\r 匹配HTML標記的正則表達式:/<(.*)>.*<\/\1>|<(.*) \/>/ 匹配首尾空格的正則表達式:(^\s*)|(\s*$)
匹配Email地址的正則表達式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* 匹配網址URL的正則表達式:http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?
//bool r = Regex.IsMatch("bug", "^b.g$"); //Console.WriteLine(r); //練習1:判斷是否是合法的郵政編碼(6位數字) //bool r = Regex.IsMatch("100010", @"^\d{6}$"); //Console.WriteLine(r); //判斷一個字符串是不是身份證號碼,即是否是15或18位數字。 //string s = "123456789012345678"; //bool r = Regex.IsMatch(s, @"^\d{15}$|^\d{17}[0-9A-Za-z]$"); //Console.WriteLine(r); //判斷字符串是否為正確的國內電話號碼,不考慮分機。 //bool r = Regex.IsMatch("010-12345679544",@"^(\d{3,4}\-?\d{7,8}|\d{5})$"); //Console.WriteLine(r); //判斷一個字符串是否是合法的Email地址。一個Email地址的特征就是以一個字符序列開始,后邊跟着“@”符號,后邊又是一個字符序列,后邊跟着符號“.”,最后是字符序列 //bool r = Regex.IsMatch("123@163.com", @"^\w+@\w+\.\w+(\.\w+)?$"); //Console.WriteLine(r); Console.Read();
好啦,就寫到這里吧,感覺還有好多是不太清楚的啦,看起來就是一堆符號和英文字母,可是實現的功能非同小可啦,嘿嘿,這個還是要熟練的練習啦,剛開始接觸感覺真的不好玩,一點都不熟悉,還是要做好多的練習的啦,嘿嘿,我會找些習題在做一下練習的啦,一定要熟練的使用的啦。