/
// c# 學習筆記 -- 第六天 正規表示式
// yfp 2005-12-23//
正規表示式的使用場合主要是在驗證使用者輸入,快速查詢替換字串。而不是像某些人想的用在控制顯示格式上,如果要控制資料輸出時的顯示格式,請使用格式化字串。這兩者是不同的概念。
在微軟msdn中有很詳細的技術資料 http://msdn.microsoft.com/library/chs/cpgenref/html/cpconregularexpressionslanguageelements.asp
這裡我只舉個簡單的例子,這個例子控制使用者只能輸入小於1的小數,而且只能輸入兩位小數。
例:using system;
using system.text.regularexpressions;
namespace first
"); //注意:這裡的字串就是更夠實現限制的正規表示式
string input;
console.writeline("enter a number: ");
input = console.readline();
while ( num.match(input).success == false)
console.writeline("validated!");}}
}下面來解釋一下這個正規表示式。首先的「@」符號是為了關閉轉義處理過程,不然會看到更多的斜槓。
其次在雙引號之間的第乙個字元是「^」,他表示這個規則判斷的起始位置從字串起始位置開始。
「[0]」表示第乙個字元必須是「」內字元集合中的任意乙個字元,此時「」內只有乙個「0」,那麼也就是說輸入的第乙個字元必須是0。
緊接著是乙個「/.」,接下來「/d」表示必須在「.」後輸入兩個數字。注意這裡不能只輸入乙個點,因為「.」表示除了換行符以外的任何字元。所以還是要加轉義字元「/」。
以此類推,下面將常用的正規表示式語法給出被查。
正規表示式單字元類:
專案 描述
/d 任何數字
/d 任何非數字
/ws 任何單詞字元
/w 任何非單詞字元
/s 任何空白字元
/sw 任何非空白
範圍字元類和集合類:
專案 描述
. 除了換行符以外的任何字元
/p unicode字元型別uc內的任何字元
/p 任何不屬於unicode字元型別uc的字元
[abdc] 該字符集中的任何字元
[^abdc] 這組字符集以外的任何字元
字元類量詞:
專案 描述
* 0個或多個字元
+ 1個或多個字元
? 0個或1個字元
正好n個字元
至少n個字元
至少n個字元,但不多於m個字元
開始匹配的位置
專案 描述
^ 從字串的開始或新行的開始
$ 換行符之前或該行末的字串結尾
/g 從上次匹配結束的地方開始
/a 字串的開始
/b 出現在字元邊界(用於字母數字和非字母數字)的匹配
/b 並非出現在單詞邊界的字元
/z 從字串的結尾,包括換行符
/z 換行符之前的字串結尾
第20 21天 正規表示式
這本來是上周四和周五的教學內容,由於一些意料之中的安排所以統一在今天補上。這兩天都是教的正規表示式,一天是正規表示式基本語法,另一天也是正規表示式語法 函式 正規表示式從本質上來說已是乙個字串,能發揮它作用的唯一方法就是把它和特定的函式結合起來一起使用。正規表示式函式中,稍微複雜一點的是preg r...
Python 24天 正規表示式
正規表示式是對字元 操作的一種邏輯公式.我們一般使用正規表示式對字元 進 匹配和過濾.由普通字元和元字元組成 元字元 1 字元組 用 括起來的內容會被匹配 逐個匹配 2 簡單元字元 匹配除換 符以外的任意字元 w 匹配字母或數字或下劃線 s 匹配任意的空白符 d 匹配數字 n 匹配乙個換 符 t 匹...
C 第六天學習
一次性儲存或者宣告多個相同型別的變數 陣列 陣列型別 陣列名 new 陣列型別 陣列長度 int nums new int 10 nums 0 1 nums 1 2 nums 2 3 nums 3 4 nums 4 5 nums 5 6 nums 6 7 nums 7 10 nums 8 9 num...