正規表示式與委託初探

2021-06-22 15:00:33 字數 1844 閱讀 2175

正規表示式

正規表示式是一種用於匹配、提取以及替換的格式化字串。該字串中包含原始匹配字元,以及一些表徵其他意義的元字元。

首先正規表示式是字串

其次包含正常字元

然後包含元字元

最後用於匹配、提取和替換

基本元字元

.:任意乙個換行字元

:集合匹配,匹配乙個中出現的字元

():調整優先順序,還有乙個分組的功能

|:或的意思,優先順序最低(foot或food foo(t|d))

限定元字元:

+:緊跟這個元素前面的元素出現1次或多次

*:緊跟這個元素前面的元素出現0次或多次

?:有或沒有 (可以用於非貪婪模式 [123]+?)

:緊跟這個元素前面的元素出現n次

收尾元字元:

^:必須以某某字元開頭,在[^]中表示否定

$:必須以某某結尾,分組後對組的引用($1)

簡寫元字元:

\d:digit

\w:word

\s: space

-> c#中

命名空間:system.text.regylarexpressions;

regex

match

matchcollection

-> 四個模型

bool ragex.ismatch(處理文字, 正規表示式);

match regex.match(處理文字, 正規表示式);

matchcollection regex.matches(處理文字, 正規表示式);

string regex.replace(處理字串, 正規表示式, 替換字串);

static void main(string args)

");if (str.success)

string content = file.readalltext("留下你的email.htm", encoding.utf8);

matchcollection mc = regex.matches(content, @"([a-za-z0-9\.]+)@(\w+\.\w+)");

foreach (match m in mc)

,網域名稱:", m.groups[1].value, m.groups[2].value);

}string str1 = "1234";

matchcollection mcc = regex.matches(str1, @"\d+");//\d+?飛貪婪匹配

string str2 = "今天是2023年7月2日";

console.writeline(regex.replace(str2, @"(\d+)年(\d+)月(\d+)日", "$1-$2-$3"));

}委託初探

-> 將方法賦值給變數進行使用

-> 使用委託步驟

-> 1、先要有方法

-> 2、定義委託的型別

public delegate 返回值 委託的型別名(引數列表);

-> 3、宣告委託變數

委託的型別名 變數名;

-> 4、註冊方法

變數名 = 方法名;

-> 5、將變數名看作方法的別名直接呼叫

變數名();

namespace _01委託初探

stu.receivedel();//執行**(不委託給我,我自己也可以執行)}}

}delegate void delreceive();//定義委託型別,型別安全(找個人收快遞,我得信任他(方法的返回值跟引數必須要跟委託宣告的一樣))

class monitor

}class student

}}

正規表示式初探

1.010 88886666,或022 22334455,或02912345678 0 d d 分析 010 022 029 首先是乙個轉義字元 它能出現0次或1次 然後是乙個0,後面跟著2個數字 d 然後是 或 或空格中的乙個,它出現1次或不出現 最後是8個數字 d 不幸的是,剛才那個表示式也能匹...

C Regex 正規表示式初探

使用正規表示式,之前對規則不求甚解,現在整理下學習成果 string str 混 3a膠帶機 140100 無 是 三工十二備混 3b膠帶機 140100 string patt w 工 w 備 我的提取規則就是識別str字串中 工 備 這樣的字串,解釋 w是 與任何單詞字元匹配,是字元類的匹配規則...

正規表示式 正規表示式 總結

非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...