圖1最後乙個雙環的狀態是最終態。下面讓我們來看看獲得的實現**。
geta方法的實現
// 獲得html中的
private void geta()
break;
case 1: // 狀態1
if (buffer[i] == 'a' || buffer[i] == 'a') // 讀入是'a'或'a'
else
break;
case 2: // 狀態2
if (buffer[i] == ' ' || buffer[i] == '\t') // 讀入的是空格或'\t'
else
break;
case 3: // 狀態3
if (buffer[i] == '>') // 讀入的是'>',已經成功獲得乙個
}catch (exception e)
state = 0; // 在獲得乙個後,重新切換到狀態0
}else
a += buffer[i];
break;}}
}}在geta方法中除了切換到狀態0外,其他的狀態切換都將已經讀入的字元賦給string變數a,如果最後發現變數a中的字串不可能是後,就將a清空,並切換到狀態0後重新讀入字元。
在geta方法中使用了乙個重要的方法gethref來從中獲得href部分。gethref方法的實現如下:
gethref方法的實現
// 從中獲得href
private string gethref(string a)
return null;
}catch (exception e)
}在gethref方法中使用了正規表示式從中獲得href。在中正確的href屬性格式有三種情況,這三種情況的主要區別是url兩邊的符號,如單引號、雙引號或沒有符號。這三種情況如下所示:
情況1: comprg
情況2: comprg
情況3: comprg
gethref方法中的p儲存了用於過濾這三種情況的href,也就是說,使用正規表示式可以獲得上述三種情況的href如下:
從情況1獲得得的href:href = ""
從情況2獲得得的href:href = ''
從情況3獲得得的href:href =
20 網路IPC 套接字 1
1 套接字是通訊端點的抽象。建立套接字,成功則返回描述符 int socket int domain,int type,int protocol 1 domain域確定通訊的特性,如位址格式,af address family af inet ipv4網際網路域 af inet6 ipv4網際網路域...
C 2 0 新增功能
泛型 該語言中新增了一些泛型型別,使得程式設計師能夠實現程度很高的 重用,獲得更高的集合類效能。泛型型別只存在 arity 上的不同。也可以將引數強制為特定的型別。有關更多資訊,請參見泛型型別引數。迭代器 迭代器使得規定 foreach 迴圈將如何迴圈訪問集合的內容變得更加容易。分部類 分部型別定義...
C 2 0 匿名委託
delegate經常被人用來與 相比較,其實兩者在某種程度上由很多共同點。不過delegate有很多更加強大的地方。首先,delegate中可以註冊任意多個 在乙個delegate被呼叫的時候,已經註冊的過程將會被逐個呼叫。其次,delegate允許註冊乙個物件的方法,而不像c 中指可以使用靜態方法...