---------以前根據一講師總結:
1.? .點表示任意單個字符(出\n);
2. a.b--->a2b a.b a*b都可以,但是acvb,不可以單個字符,a..b就可以了;
3.[]:a[axy]b--->aab,axy都可以,就是三者中的任意一個;
4.a[0-9]b:--->a0b;可以;
5. a[a-z0-9]b--->記住只能為1個;要么數字要么是字母;
6.a[^xyz],取反,只要不是這三者中的任何一種;
7,z|kk,z或是kk,而不是zk或是kk,|優先級比較低;當然可以改成(a|k)k;就行了;括號改變優先級;
8.[0-9a-zA-Z]和\w;\w還包含漢子;
9.abc*,標識*前面的一個字符出現任意次;若為abc的話:(abc)*;
x(abc)*y---》匹配的是xabcy xabcabcy都可以;
10.? +限定符;至少出現一次;
11. ?:0-1次;
12.x(abc){5}y:標識x和y之間必須有5個abc;? {n}一定出現n次;
?
13.{n,m}:標識 n-m次;>=5&&<=10
14.{n,}標識至少n次;
15.[^]取反,沒有中括號,必須以什么開始,^abc:以abc開始;
16.xyz$:標識以xyz結尾;^xyz$:標識必須是xyz;
17.a\dz:a3z;\d==[0-9]
18: a\d{5}z ,a12345z;
19:\D:表示0-9除外,類似取反;
20: \s 空白格;看不到的字符都是空白符;
21: \S 非空白符;
22: \W 取反 去漢子和數字 字母;js內不支持漢子;
?
23 ^z|food$---->標識要么以z開頭要么以food結尾;因為優先級;
24:z|food:標識只要字符串中出現z或者food就可以;
25:^(z|f)ood$:這個標識要么是zood要么是food;
?
?
?if (Regex.IsMatch(Console.ReadLine(), patten))
?string s=@"\dsdf";string s=@"\dsdf";
?
----正則表達式提取字符串:(只提取第一個)
Match ma=Regex.Match(msg,reg);
---輸出的ma.value;
?
----ma.success 屬性判斷是否匹配成功;
-------------------------提取的是所有的;并逐一輸出字符串;
?MatchCollection mc = Regex.Matches("","");
??????????? foreach (Match mn in mc)
??????????? {
??????????????? Console.WriteLine(mn.Value);
??????????? }
-------------------可以通過這種方式提取web頁面的email地址;
提取組;比如郵箱。如果我們想知道用各種郵箱的種類個數;
給正則加()括號來提取組;一個字符串有三個()括號說明有三個組;
通過獲取 matchcollection 遍歷這個集合得到match,
match.Groups[1].value,match.Groups[2].value即可;切結match.Groups[0]標識的是全部的完整的匹配項;
---------正則表達式的貪婪模式:當根劇正則提取字符時,就是,
當一個字符滿足要求,多個也滿足要求 ,但是Regex.Match只能提取一個,結果它提取的是
最長的那個。這就是貪婪模式;(當出現矛盾時候)
字符串:hellow worlddddkkkkkkkkkkkkk 正則:“[a-z]+”,
得到的是 hellow 而不是后面的worldddkkkkk, match只取第一個;
------正則會盡可能的讓自己都匹配上;
比如str="1111.111.1111。"; reg=".+。";和reg=".+"獲取到的結果相同,但是是有區別的。
reg=".+。";中的句號會匹配字符串中的句號。
?
-----比如:str="11。? 1。" reg=".+?。"? 最終匹配的是 "11。" ,因為會讓自己匹配更多。
?
?
---------序列化的對象必須標記上[serializable],父類也要標記;父類的字字段火屬性也必須為可
序列化;@"^.+\\(.+)\.[a-zA-Z]+$"
?
-----------正則表達式提取路徑中的文件名:
?
?string url = @"..\..\guozes\dfsfng\gsdfuo.txt";
??????????? string reg = @"^.+\\(.+)\.[a-zA-Z]+$";
??????????? Match ma = Regex.Match(url, reg);
??????????? if (ma.Success)
??????????? {
??????????????? string s = ma.Groups[1].Value;
??????????????? Console.WriteLine(s);
??????????? }
----------------Regex.Replace("hah???? ahah? aa",@"\s+","");標識把多個空格替換為一個空格;
----------------
專業名詞UBB,html編輯器,發表論壇,為了防止用戶寫有害腳本,采用特殊格式;[/athha],標識圖片的
路徑格式,會有正則表達式進行翻譯,匹配,轉換為路徑。
?
----------判斷發表的帖子是否有敏感詞;可以用正則表達式; "guo|ze|"
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
