C 學習筆記 第六天 正規表示式

2021-04-02 08:48:08 字數 1753 閱讀 7280

/

//  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...