正規表示式
正規表示式是一種用於匹配、提取以及替換的格式化字串。該字串中包含原始匹配字元,以及一些表徵其他意義的元字元。
首先正規表示式是字串
其次包含正常字元
然後包含元字元
最後用於匹配、提取和替換
基本元字元
.:任意乙個換行字元
:集合匹配,匹配乙個中出現的字元
():調整優先順序,還有乙個分組的功能
|:或的意思,優先順序最低(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...