1. 程式人生 > >我在努力,一直都在努力。

我在努力,一直都在努力。

正則表示式

  地獄-天堂之說,源自老程式設計師的話.老程式設計師告訴我們,沒有正則表示式就像地獄一般,有了正則表示式我們就像進了天堂一樣.好,我們下面看這麼幾個需求:

需求1:“192.168.10.5[port=8080]”,這個字串表示IP地址為192.168.10.5的伺服器的8080埠是開啟的,請用程式解析此字串,然後打印出“IP地址為***的伺服器的***埠是開啟的”。

需求2:“192.168.10.5[port=21,type=ftp]”,這個字串表示IP地址為192.168.10.5的伺服器的21埠提供的是ftp服務,其中如果“,type=ftp”部分被省略,則預設為http服務。請用程式解析此字串,然後打印出“IP地址為***的伺服器的***埠提供的服務為***”

需求3:判斷一個字串是否是Email?必須含有@和.、不能以@或者.開始或者結束、@要在最後一個.之前(這個給點時間用我們之前的字串的相關內容能做出來,但是太多了.)

需求4:從一個文字中提取出所有的Email:我有全部333M的照片,要的給我發email:[email protected]。我也要[email protected][email protected],樓主好人:[email protected]

(論壇中如百度貼吧中,可以自己做個種子搜尋器.請看下圖)

                       

一、查詢網頁中的e-mail

類似於這種情況,我們用普通的方法實現非常的困難。有個非常好的處理方法,就是正則表示式。正則表示式就是對字串的操作

正則是語言無關的,很多的語言當中都能用到正則表示式。

那麼,到底正則表示式是個啥呢?實際上就是一些萬用字元。

正則給我們一些元字元,這些元字元可以理解成一些已經定義好的萬用字元,使用它們在字串中找到我們想要的匹配。

那麼正在等用處很多,像採集器、敏感詞過濾、URLRewite、Validator中都會用到。

下面我們介紹一些元字元

第一種是:   .:匹配除\n之外的任何單個字元

第二種是:    [ ] :匹配括號中的任何一個字元。 如果要想匹配二十六個英文字母中的任意一個怎麼寫呢? a[a-z]b  如果也想匹配大寫的A—Z的話,需要這麼寫 a[a-zA-Z]b

第三種是:    | :將兩個匹配條件進行邏輯“或”運算。 如a[a|b]b   z|food 要麼是z,要麼是food   (z|f)ood 加小括號改變優先順序

第四種是:    ( ) :將 () 之間括起來的表示式定義為“組”(group),並且將匹配這個表示式的字元儲存到一個臨時區域,這個元字元在字串提取的時候非常有用。把一些字元表示為一個整體。改變優先順序、定義提取組兩個作用。

元字元2(限定符):

第一種是:    *:匹配0至多個在它之前的子表示式,和萬用字元*沒關係。 如 zoo* ,*表示可以出現0次,也可以出現多次。(可有可無,可多可少)

第二種是:    + :匹配前面的子表示式一次或多次  如zoo+  ,+表示可以出現一次,或者是多次。(至少得出現一次。)  注意:*  +只表示o的出現次數,要是想表示前面的整個表示式,得用小括號括起來。

第三種是:    ? :匹配前面的子表示式零次或一次。  如zoo? ,要麼0次,要麼1次。

第四種是:    {n} :匹配確定的 n 次。

第五種是:    {n,m} :最少匹配 n 次且最多匹配 m 次。

元字元3

第一種是:    ^(shift+6) :匹配一行的開始。如^xxx.   表示字串必須以三個先開頭,後面跟任意的單個字元。

它還有一個意思就是取反的意思,如 a[^a-zA-Z0-9]b  表示中間去大小寫字元和數字都不行。

第二種是:    $ :匹配行結束符。    如xxx.$  表示結尾必須以xxx加任意字元結束。

接下來我們再看一些個元字元(一些簡寫的方式):

第一種是:    \d:代表一個數字,等同於[0-9]   如a[0-9]b   a\db

第二種是:    \D:代表非數字,等同於[^0-9]

第三種是:    \s:代表換行符、Tab製表符等空白字元 ,(空格、回車、製表符)

第四種是:    \S:代表非空白字元(a0%[email protected]@)

第五種是:    \w:匹配字母或數字或下劃線或漢字,即能組成單詞的字元,除%&#@!$等字元。[a-zA-Z0-9_漢字]

第六種是:    \W:非\w ,等同於[^\w] %

需要注意的地方:當放在C#中時,需要在它們之前加個\

下面我們主要講解怎麼去用這些正則表示式:

                   

二、使用正則需要用到的類及匯入名稱空間

 

三、正則的幾種用法

 

四、這是個什麼類?

 

五、驗證郵箱是否匹配程式碼

六、不能這麼寫

字串不能這麼寫,字串不能按數學上的區間來表示,寫正則永遠都是先找規律。

 

七、找規律

 

八、驗證使用者輸入的數字字串程式碼

字串匹配例子:

Regex.IsMatch("bbbbg","^b.*g$");匹配,以b開頭以g結尾,中間出現任意字元

Regex.IsMatch("bg", "^b.*g$");匹配,中間有也行,沒有也行。

Regex.IsMatch("gege", "^b.*g$");不匹配,開頭要求是b,但是字串不是。

下面寫個驗證身份證號碼的正則,要求:要麼是15位,要麼是18位的數字。

擴充套件在15位的時候,前14位是數字,最後一位是大小寫x。

 

九、驗證身份證號碼程式碼

 

十、小作業

這個題我們可以在VS裡面除錯一下,試試。

 

十一、小作業答案

 

十二、衍生題目

                     

十三、電話號碼驗證程式碼

驗證如果非常的靈活的話,可以把驗證單獨提取到配置檔案裡面。將來正則表示式直接讀取配置檔案就可以了。配置檔案想怎麼改怎麼改。

 

十四、驗證email的正則

 

十五、自己寫的郵箱驗證

關於正則比較討厭的問題是,它不好測試。出錯之後必須自己去分析。

下面我們做下如下幾個練習:

1、匹配IP地址,4段用.分割的最多三位數字。 192.168.54.77、333.333.333.333假設都是正確的。

1.2.222.3

192.168.0.156

 

十六、驗證ip的正則程式碼

2、判斷是否是合法的日期格式“2008-08-08”。四位數字-兩位數字-兩位數字。

 

十七、判斷是否是合法的日期格式程式碼

3、判斷是否是合法的url地址,http://www.test.com/a.htm?id=3&name=aaa、ftp://127.0.0.1/1.txt。字串序列://字串序列。

 

十八、判斷url地址的正則

答案完整版:

1、匹配IP地址,4段用.分割的最多三位數字。 192.168.54.77、333.333.333.333假設都是正確的。 "@“^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$”。.是正則表示式中的特殊含義,因此需要轉義。進一步嚴謹:^(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])$ "2、判斷是否是合法的日期格式“2008-08-08”。四位數字-兩位數字-兩位數字。@“^\d{4}\-\d{2}\-\d{2}$”,進一步嚴謹:^\d{4}\-((0[1-9])|(1[0-2]))-((0[1-9])|(1[0-9])|(2[0-9])|(3[0-1]))$

3、判斷是否是合法的url地址,http://www.test.com/a.htm、ftp://127.0.0.1/1.txt。字串序列://字串序列。@"^\w+://.+$"。//簡化的識別,專案中google搜“w3c URL 正則表示式”。.+而不是\w,否則"?id=1"中的?就不能匹配了。 http://www.test.com/a.aspx?id=1

取巧的辦法:從ASP.Net的RegularExpressionValidator中抄常用的正則表示式,工作中一般是從網上找現成的。或者去http://www.regexlib.com/ 搜尋。

上面推薦了一個正則的網址,非常的好用,大概演示一下子。

 

十九、想搜什麼對應的輸入就行了

下面我們看下正則表示式提取

 

二十、match方法

 

二十一、能不能for能不能foreach

 

二十二、為什麼var不智慧推斷了呢?

 

二十三、原因

 

二十四、提取所有用matches

下面我們提取網頁中所有的email

分享我多年收集的關於正則表示式的素材

 

二十五、把素材考進來

 

二十六、檢查下是否是亂碼

 

二十七、提取網頁中的email的程式碼

請統計出126郵箱的使用人數,gmail郵箱的使用人數,並且把每個人的使用者名稱單獨的輸出。

可以用我們很早以前講過的split擷取來做這個題.我們用正則表示式也能解決這個問題.

在介紹這個之前,我們先給大家介紹個稍微簡單點的.

                       

二十八、提取組

 

二十九、看左括號

 

三十、用正則提取組解決剛才的問題

字串提取練習1(提取組練習)

從檔案路徑中提取出檔名(包含字尾) @"^.+\(.+)$"。比如從c:\windows\testb.txt中提取出testb.txt這個檔名出來。專案中用Path.GetFileName更好。貪婪模式。(想一下,這個時候怎麼提取檔名?)

 

三十一、提取檔名練習

從“June         26       ,        1951    ”中提取出月份June、26、1951來。@"([a-zA-Z]+)\s+\d{1,2},\s*\d{4}"進行匹配。月份和日之間是必須要有空格分割的,所以使用空白符號“\s”匹配所有的空白字元,此處的空格是必須有的,所以使用“+”標識為匹配1至多個空格。之後的“,”與年份之間的空格是可有可無的,所以使用“*”表示為匹配0至多個

 

三十二、提取月日年

從Email中提取出使用者名稱和域名,比如從[email protected]中提取出test和163.com。

這個我們就不用說了。

“192.168.10.5[port=21,type=ftp]”,這個字串表示IP地址為192.168.10.5的伺服器的21埠提供的是ftp服務,其中如果“,type=ftp”部分被省略,則預設為http服務。請用程式解析此字串,然後打印出“IP地址為***的伺服器的***埠提供的服務為***”

 

三十三、提取ip埠號服務型別的正則

接下來我們看下貪婪模式與非貪婪模式

 

三十四、貪婪模式

 

三十五、終止貪婪模式

下面我們看一個案例:

 

三十六、案例1

 

三十七、案例2

 

三十八、案例3

 

三十九、案例3終止貪婪模式

案例:從一個頁面提取所有Email地址,用WebClient,自己動手寫Email群發器。

                       

四十、提取網頁中的email

練習:從網站抓取所有的圖片地址,下載到硬碟:MatchCollection matches = Regex.Matches(content, "border=0\\s*src=\"(.*?)\">");//<img.*?src=(.+)?.*?/>

我們這裡用個本地圖片。

 

四十一、本地下載

我們把它模擬成網際網路上訪問,

 

四十二、把網站部署在“網路”上

上面這個小工具已經放到文章上面的資源裡面供大家下載。

 

四十三、下載網路圖片

下載網路圖片程式碼插入位置:

View Code 複製程式碼
 1   #region 下載網頁圖片
 2             WebClient wc = new WebClient();
 3             //先把地址下載下來
 4             string html = wc.DownloadString("http://localhost:8080/美女們.htm");
 5             //根據網頁原始碼寫正則
 6             MatchCollection matches = Regex.Matches(html,"<img alt=\"\" src=\"(.+)\" />");
 7             //迴圈一下,看看有沒有匹配。
 8             int index = 0;
 9             foreach (Match item in matches)
10             {
11                 Console.WriteLine(item.Value);
12                 //提取好路徑
13                 string url = "http://localhost:8080/"+item.Groups[1].Value;
14                 //下載
15                 wc.DownloadFile(url, @"c:\aa\"+index.ToString()+".jpg");
16                 index++;
17             }
18             //wc.DownloadFile("","");
19             Console.ReadKey();
20             #endregion
複製程式碼

我們可以試著把網頁上的超連結抓取下來。

下面我們看下字串的替換:

                       

四十四、正則表示式替換

練習2:將連續的-都替換成一個-

234-----234--------------34------55

 

四十五、練習2答案

隱去手機號碼的中間4位。

 

四十六、替換手機中間四位

細說,之前在工作的過程中,單位有個客服中心,那些孩子們每天都要打電話,系統裡面的電話是全的,但是,要是用系統的匯出功能,電話的中間4位就被替換了。當時,我們沒怎麼注意,當把電話理出來再打的時候,發現全是廢號了。

苦逼程式設計師寫出這樣的程式,當時我真想罵娘。但是,轉念想想,要是自己之前用過正則,就會留心去觀察了。

練習1:將一段文字中的MM/DD/YYYY格式的日期轉換為YYYY-MM-DD格式 ,比如“我的生日是05/21/2010耶”轉換為“我的生日是2010-05-21耶”。

 

四十七、提取組練習

 

新加:熱心同學提問

 

新加、兩個$就顯示$2

練習2:給一段文字中匹配到的url新增超連結,比如把http://www.test.com替換為<a href="http://www.test.com"> http://www.test.com</a>。參考程式碼見備註。因為這個是整體做為一個組,比較特殊,難以理解,先把日期轉換的理解了就好理解了。

 

四十八、匹配到的url新增超連結練習

 

四十九、為什麼亂碼呢?

因為作業系統儲存的utf-8,而在這裡我們沒有指定用utf-8,所以就亂了。現在網上都有指定編碼的。

 

五十、指定編碼了

 

五十一、指定編碼

當然我們這麼寫非常的不規範。

 

五十二、這樣就不亂碼了

 

五十三、這樣寫也不亂嗎了

練習1:將文字中連續的空格替換為一個空格.

“hello         welcome    to China.”→”hello welcome to China”

第一個題跟我們之前做的一模一樣。

練習2:給一個手機號碼:13412345678, 134****5678,用正則表示式Replace()

這個也已經演示過了。

練習3:

[email protected]→***@itcast.cn

[email protected]→**********@163.com

[email protected]→**@codeedu.com

這個題按照我們目前的知識做還是有點困難。

把郵箱的前幾位都替換成*

                    

五十四、第一次替換

 

五十五、用委託這個過載

 

五十六、轉到定義

 

五十七、這個型別

 

五十八、委託型別

要傳個委託變數,什麼樣的變數才是委託變數呢?委託其實指向的是一個方法。這個方法必須跟委託匹配,返回值也得跟委託匹配。

 

五十九、用委託執行方法進行替換

我們通過這個案例,大家看到委託是,委託可以給一個方法變數,用委託才能存方法

 

六十、效率不太高的寫法

為了防止使用者用惡意程式碼留言,大部分論壇都不允許使用HTML語句做為回帖內容(或者進行了轉義),但是這限制了使用者的發揮,比如使用者無法貼上超連結、無法貼上圖片地址,無法把自己傳送的文字進行加粗,改變字號。為了解決這個問題,人們設計出了UBB程式碼,它提供了有限的、無危害的功能,使用者只要遵循程式碼規則就可以實現使用者想要的功能。UBB語法:http://baike.baidu.com/view/35.htm?fr=ala0_1_1。

 

六十一、這就是UBB程式碼

釋出以後就變成html標籤了。就是在使用者編輯的時候不讓使用者發html標籤,全讓使用者發UBB標籤。

我們可以到http://www.wikipedia.org搜尋這ubb。

接下來我們就完成ubb程式碼轉換成html程式碼。

 

六十二、畫好介面

 

六十三、替換程式碼

現在再看看這段程式碼是不是非常的輕鬆了呢?

 

六十四、ubb轉換程式碼演示

最後我們再看下敏感詞過濾

接下來我們就做個敏感詞過濾

 

六十五、畫好介面並新增敏感詞

當我點發帖的時候要驗證一下,有沒有這個詞,要是有這個詞的話,提示一下使用者。

觀察一下我們為大家提供的詞庫,這部分我們已經放到下載裡面,請大家下載。

有些詞對應mod,有些詞對應banned,一種需要稽核,一種就需要禁止了。

能實現但是效率不高的C#程式碼插入位置:

View Code 複製程式碼
 1 using System;
 2 using System.Collections.Generic;
 3 using System.ComponentModel;
 4 using System.Data;
 5 using System.Drawing;
 6 using System.Linq;
 7 using System.Text;
 8 using System.Windows.Forms;
 9 using System.IO;
10 
11 namespace _03敏感詞過濾
12 {
13     public partial class Form1 : Form
14     {
15         public Form1()
16         {
17             InitializeComponent();
18         }
19         //1.載入敏感詞到集合,分開儲存
20         List<string> listMod = new List<string>();
21         List<string> listBanned = new List<string>();
22         private void btnSend_Click(object sender, EventArgs e)
23         {
24            //4.獲取使用者輸入的帖子內容
25             string usrInput = txtContent.Text.Trim();
26             //5.先判斷使用者輸入的字串中是否包含{BANNED}的關鍵詞
27             bool b = false;
28             foreach (string item in listBanned)
29             {
30                 if (usrInput.Contains(item))
31                 {
32                     b = true;
33                     break;
34                 }
35             }
36             if (b)
37             {
38                 MessageBox.Show("您輸入的帖子內容中包含有【禁止發帖】的關鍵詞,請檢查!");
39             }
40             else
41             {
42                 //6.再檢查有沒有需要稽核的關鍵詞
43                 foreach (string item in listMod)
44                 {
45                     if (usrInput.Contains(item))
46                     {
47                         b = true;
48                         break;
49                     }  
50                 }
51                 if (b)
52                 {
53                     MessageBox.Show("您的帖子需要經過稽核,請等待!"); 
54                 }
55                 else
56                 {
57                     MessageBox.Show("發帖成功!");
58                 }
59             }
60 
61         }
62 
63         private void Form1_Load(object sender, EventArgs e)
64         {
65             //2.當窗體載入的時候,填充集合
66             //把資料讀取到列表裡面,處理下編碼的問題
67             string[] line = File.ReadAllLines("1.txt",Encoding.Default);
68             //3.迴圈判斷分別加入集合
69             foreach (string item in line)
70             {
71                 string[] parts = item.Split('=');
72                 if (parts[1]=="{MOD}")
73                 {
74                     //表示該關鍵詞需要稽核
75                     listMod.Add(parts[0]);
76                 }
77                 else if (parts[1]=="{BANNED}")
78                 {
79                     listBanned.Add(parts[0]);
80                 }
81             }
82         }
83     }
84 }
複製程式碼

六十六、能實現但是效率不高的C#程式碼演示

下面我們通過正則實現,

問題是,寫個什麼樣的正則才能匹配任意的敏感詞呢?

 

六十七、本身就是一個正則

通過正則實現敏感詞過濾程式碼插入位置:

View Code 複製程式碼
  1 using System;
  2 using System.Collections.Generic;
  3 using System.ComponentModel;
  4 using System.Data;
  5 using System.Drawing;
  6 using System.Linq;
  7 using System.Text;
  8 using System.Windows.Forms;
  9 using System.IO;
 10 using System.Text.RegularExpressions;
 11 
 12 namespace _03敏感詞過濾
 13 {
 14     public partial class Form1 : Form
 15     {
 16         public Form1()
 17         {
 18             InitializeComponent();
 19         }
 20         //1.載入敏感詞到集合,分開儲存
 21         List<string> listMod = new List<string>();
 22         List<string> listBanned = new List<string>();
 23         private void btnSend_Click(object sender, EventArgs e)
 24         {
 25 
 26             #region 通過常規方式實現
 27             
 28            
 29             ////4.獲取使用者輸入的帖子內容
 30             //string usrInput = txtContent.Text.Trim();
 31             ////5.先判斷使用者輸入的字串中是否包含{BANNED}的關鍵詞
 32             //bool b = false;
 33             //foreach (string item in listBanned)
 34             //{
 35             //    if (usrInput.Contains(item))
 36             //    {
 37             //        b = true;
 38             //        break;
 39             //    }
 40             //}
 41             //if (b)
 42             //{
 43             //    MessageBox.Show("您輸入的帖子內容中包含有【禁止發帖】的關鍵詞,請檢查!");
 44             //}
 45             //else
 46             //{
 47             //    //6.再檢查有沒有需要稽核的關鍵詞
 48             //    foreach (string item in listMod)
 49             //    {
 50             //        if (usrInput.Contains(item))
 51             //        {
 52             //            b = true;
 53             //            break;
 54             //        }  
 55             //    }
 56             //    if (b)
 57             //    {
 58             //        MessageBox.Show("您的帖子需要經過稽核,請等待!"); 
 59             //    }
 60             //    else
 61             //    {
 62             //        MessageBox.Show("發帖成功!");
 63             //    }
 64             //}
 65             #endregion
 66 
 67             #region 通過正則實現
 68             string usrInput = txtContent.Text.Trim();
 69             string[] line = File.ReadAllLines("1.txt",Encoding.Default);
 70 
 71             StringBuilder sbMod = new StringBuilder();
 72             StringBuilder sbBanned = new StringBuilder();
 73             foreach (string item in line)
 74             {
 75                 string[] parts = item.Split('=');
 76                 if (parts[1]=="{MOD}")
 77                 {
 78                     sbMod.Append(parts[0]+"|");
 79                 }
 80                 else if (parts[1]=="{BANNED}")
 81                 {
 82                     sbBanned.Append(parts[0]+"|");
 83                 }
 84             }
 85             sbMod.Remove(sbMod.Length-1,1);
 86             sbBanned.Remove(sbBanned.Length - 1, 1);
 87             string s1 = sbMod.ToString();
 88             string s2 = sbBanned.ToString();
 89 
 90             //直接用正則驗證就行了
 91             if (Regex.IsMatch(usrInput,s2))
 92             {
 93                 MessageBox.Show("包含禁止發帖的關鍵字"); 
 94             }
 95             else if (Regex.IsMatch(usrInput,s1))
 96             {
 97                 MessageBox.Show("需要稽核");
 98             }
 99             else
100             {
101                 MessageBox.Show("發帖成功");
102             }
103             
104             #endregion
105         }
106 
107         private void Form1_Load(object sender, EventArgs e)
108         {
109             //2.當窗體載入的時候,填充集合
110             //把資料讀取到列表裡面,處理下編碼的問題
111             string[] line = File.ReadAllLines("1.txt",Encoding.Default);
112             //3.迴圈判斷分別加入集合
113             foreach (string item in line)
114             {
115                 string[] parts = item.Split('=');
116                 if (parts[1]=="{MOD}")
117                 {
118                     //表示該關鍵詞需要稽核
119                     listMod.Add(parts[0]);
120                 }
121                 else if (parts[1]=="{BANNED}")
122                 {
123                     listBanned.Add(parts[0]);
124                 }
125             }
126         }
127     }
128 }
複製程式碼

如果要是發帖的人這樣在   辦證中間加個特殊符號,我們可以改下詞庫,辦.{0,2}證

 面試題:抓取招聘資訊。

只抓取職位的超連結的href、標題,找職位超連結的“模式” http://search.51job.com/job/46629381,c.html,找規律。

使用開發人員工具,可能看到的原始碼不準確。

相關推薦

努力一直努力

正則表示式   地獄-天堂之說,源自老程式設計師的話.老程式設計師告訴我們,沒有正則表示式就像地獄一般,有了正則表示式我們就像進了天堂一樣.好,我們下面看這麼幾個需求: 需求1:“192.168.10.5[port=8080]”,這個字串表示IP地址為192.168.1

被引用的帳戶目前被鎖定可能不會登錄這個問題困擾好久每次要找域管理員

是什麽 設置 管理員 閾值 密碼 但是 出現 還需 帳戶 這個問題,一直出現,而且每次都要找域administrator,他給我的用戶權限是admin的,但是我經常被鎖住,這是為什麽呢?因為怕暴力破解密碼,所以設置了10次的閾值,但是鎖定以後,就不會再解開,30分鐘過了也不

從mars老師的視訊到社群裡面尋找前輩的教程分享一直是進步的奉獻者

這裡貼幾個很不錯的論壇,裡面有很多可供初階android程式設計師學習的帖子和內容: Android 動畫效果專題研究: 一個帖子學會Android開發四大元件 : 近百個Android開源專案,覆蓋Android每個領域 [Android例項] 基本控制元

習題 14.3 學校的人事部門儲存了有關學生的部分資料(學號、姓名、年齡、住址)教務部門也儲存了學生的另外一些資料(學號、姓名、性別、成績)兩個部門分別編寫了本部門的學生資料管理程式其中。。

C++程式設計(第三版) 譚浩強 習題14.3 個人設計 習題 14.3 學校的人事部門儲存了有關學生的部分資料(學號、姓名、年齡、住址),教務部門也儲存了學生的另外一些資料(學號、姓名、性別、成績),兩個部門分別編寫了本部門的學生資料管理程式,其中都用了Student作為類名。現在

即使沒人註視也要努力成長許多眼睛藏在你看不見的地方!

希望 一起 單詞 發出 今天 logs 眼睛 cnblogs .com 更新一下今天的學習進度:以後每天都會更新,倘若有啥感悟想說的話也會一起發出來,希望更多的人能和我一起堅持下去:   1.每天背誦50個英文單詞,復習鞏固了52個單詞,進度: 1350/348

打造最受企業歡迎的iOS開發者: 一直存在的問題什麽樣的員工最受企業歡迎? 一直也有人在努力

afnetwork 啟動 sub 交互 外部 set 有變 備註 super 打造最受企業歡迎的iOS開發者: 一直都存在的問題,什麽樣的員工最受企業歡迎? 一直也有人在努力提升自己,成為受企業歡迎的員工 然而,我們應該往方向去提升自己呢? 88家知名企業今年來iOS面試題

【Bugly 一歲了】所有的努力需要時間的鑑證

所有的努力,都需要時間的鑑證。這一點,在一年前Bugly剛剛對外發布的時候,我們就已經有所準備。 一年前的今天,我們懷著緊張且欣喜的心情將Bugly呈現在各位開發者的面前。或許你不知道,這之前,我們經歷了多少次面紅耳赤的需求PK,熬過了多少與程式碼相陪的夜晚,睡

【ccf19881030的專欄】一個一直都很優秀的人和一個逐漸變得優秀的人後者往往更有吸引力想做的就是那個逐漸讓自己變得優秀的人雖然優秀沒有界限但是成為你最想做的人不斷改變和進步才是你內心最優質的人於人於己!

一個一直都很優秀的人和一個逐漸變得優秀的人,後者往往更有吸引力。而我想做的就是那個逐漸讓自己變得優秀的人,雖然優秀沒有界限,但是成為你最想做的人,不斷改變和進步,才是你內心最優質的人,於人於己!...

不是每一次努力都會有收穫但是每一次收穫必須努力這是一個不公平的不可逆轉

這幾天比較閒看了下以前的專案,發現了這個spring下的Assert方法,(以前用過,不過好像忘的差不多了*.*) org.springframework.util.Assert; Assert斷言工具類,通常用於資料合法性檢查. 平時做判斷通常都是這樣寫 if (mess

最好系將時間放埋啲噉唔至於笑大把年紀唔識愛情

喚醒 不堪 幸福 精彩 歲月 遠方 揮手 自己 時間 最好系將時間放埋啲,噉唔至於笑我大把年紀都唔識愛情。當我系個骨致兒童嘅時候,對愛情嘅解讀自信得可謂入木三分,愛情系噉畀人仆街;嘅嘢,地老天荒噉忠貞不渝嘅嘢,滄海桑田地伴噉你你去黎明嘅嘢。隨著物轉星移,愛情兩個字越睇越懵,

為什麽這麽努力還是沒人認可

故事 經歷 如果 成功 告訴 是不是 努力 方式 關心 我想了很久,突然想通了:這世界根本不在乎你多麽努力,只在乎你是不是有所成就,在乎你的努力是否有效。其實,在人有所成就前,所以的努力都不會被人歌頌,只有在人成長一顆蒼天大樹後,他的傷痛和努力才會被別人認可,被人發

第一次寫作業 一定寫的不好但我會努力改進

() pass elif user pri == 作業 name 輸入 f = open("username.txt","r")y = f.read()#print(y)f.close()p = open("password.txt","r")p1 = p.read()#p

清華人如此努力那我們呢?

正常 不能 一周 有意 北京國際 ref 很快 兩個 怎麽辦 【轉載】清華人都如此努力,那我們呢?   看看清華人是如何學習與生活,再看看自己是如何度過一天的,本來聰明的人就很厲害,而既聰明又努力的人簡直無敵了,還在墮落和迷茫的同學,趕快醒醒吧! 一、永遠不要說你

一直不停地奔跑愛上那個努力的自己

努力 拼搏 哲學 人生 身邊有這樣的朋友,他們都是那麽的有個性,都是有想法就要想著去實現的人,在外人看來,他們是那麽的特別,甚至有點異類,可能也不是那種老好人,但是他們確實在做自己喜歡的事,有的還做出了名堂,做得小有名氣。 這本來就是一個不公平的世界,早在出生前,我們就有個體的差異,出生後,也

是不是一個不願意自己多努力還老是跟別人吐槽公司這不好那不好的人

獲得 如果 等待 位置 改變 知識 現在 無法 野心 最近看的一些自己喜歡的文章中的句子摘錄、、、 ------------------ 要麽和自己的平庸握手言和,要麽努力配得上自己的理想也許你憤世惡俗的原因,就是因為你厭惡你自己做一個自由又自律的人,靠勢必實現的決心認

這麼長的儲存區過程讓不知道每個表對應是幹啥的欄位也沒有說明真的要崩潰了

ALTER PROCEDURE [dbo].[proc_yeyoo_sfdz] @date1 varchar(40), @date2 varchar(40), @gbdm varchar(100) as select gbdm,sum(cz_jy_jbzc)cz_jy_jbzj,SUM(cz_

用es6方式的寫的訂閱釋出的模式--聽說越努力煩心事越少賺錢越多越開心你變強大了很多人會來愛你

//釋出訂閱模式 class EventEmiter { constructor() { //維護一個物件 this. _events = { } } on( eventName,

語文老師體育教的的出題人而且測試用例出錯只能讓狡猾可恥的AC~~

題目描述 小易喜歡的單詞具有以下特性: 1.單詞每個字母都是大寫字母 2.單詞沒有連續相等的字母 3.單詞沒有形如“xyxy”(這裡的x,y指的都是字母,並且可以相同)這樣的子序列,子序列可能不連續。

20幾歲不敢努力

雞湯不易,看完一篇少一篇。哈哈。 前段時間,同事大辰分享他第一次創業失敗的經歷。 臨近畢業的時候,他想創業。沒錢,怎麼辦? 每天朝九晚五上班,下班後兼職老師,帶兩個班,經常上課到凌晨一兩點才休息。 兩年後錢攢的差不多了,在衚衕裡租了個六十平的小辦公室,為了省錢,拉著朋友從北京跑到河北的一個

未來很長但我會努力的走下去

java-bible 簡介:這裡記錄了一些 Java 相關的技術摘要 更多:作者   提 Bug    標籤: java- 這裡記錄了一些技術摘要,部分文章來自網路,本專案的目的力求分享精品技術乾貨,以 Java 為主。 如果你喜歡,star 便是,持續更新