一些用到過的Regex

來源:互聯網
上載者:User
1、 去除xml或者類似檔案的頭部資訊

string text = File.ReadAllText("E:\\AA.xml").Replace("\r\n","");text = Regex.Replace(text, @"<!-- *.* -->","", RegexOptions.IgnoreCase);

功能:
將AA.xml檔案中的斷行符號、換行替換為“”,將<!-- *.* -->替換為“”。
IgnoreCase(忽略大小寫)匹配時不區分大小寫。
ReadAllText開啟一個文字檔,讀取檔案的所有行,然後關閉該檔案。

public static string ReadAllText(string path)path 類型:System.String 要開啟以進行讀取的檔案。傳回值  類型:System.String 包含檔案所有行的字串。public static string Replace (string input, // 要修改的字串string pattern, //要匹配的Regex模式string replacement, //替換字串RegexOptions options //RegexOption 枚舉值的按位“或”組合) // 返回已修改的字串

如果想看Replace函數詳細代碼資訊的話,用 Reflector或者ILSpy 開啟System.dll ,在 System.Text.RegularExpressions 命名空間中找到 Regex 類,即可。

2、驗證身份證資訊

string reg = "^[0-9]{15,16}$";

小註:

^ 匹配字串的開始
[…] 匹配[]內所列出的所有字元
{n,m} 匹配前面的字元n到m次
$ 匹配字串的結束

3、驗證首頁,網址

Regex.IsMatch(str, @"^(http://){0,1}www.(\w)+.(com|net|org|com.cn|net.cn|org.cn|gov.cn|info|biz|tv|cc|cn)$");

小註:

其中str為待驗證的首頁或者網址

^ 匹配字串的開始
( 和 ) 標記一個子運算式的開始和結束位置。子運算式可以擷取供以後使用。要匹配這些字元,請使用 \( 和 \)。
{n,m} 匹配前面的字元n到m次
/w 匹配字母或數字或底線或漢字
+ 重複一次或更多次
() 表示操作的範圍和優先度, 如 "gr(a|e)y" 可以匹配 gray 或 grey.
| 表示選擇符號,"gray|grey"可匹配 gray 或 grey.
$ 匹配字串的結束

4、檢查文本或者字串首位是否是數字

//匹配的Regex,去掉@不影響效果Regex r = new Regex(@"^[0-9]");

小註:

像[0-9] 代表的含意與/d 就是完全一致的

5、驗證郵編

string reg = "^[0-9]{6}$";

小註:

{n} 匹配前面的字元n次

6、驗證郵箱

string reg = "^[a-zA-Z][a-zA-Z0-9._]*@[a-zA-Z0-9.]+[.]+[a-zA-Z0-9]+$";

小註:

^ 匹配字串的開始
“@”表示,跟在它後面的字串是個“逐字字串”,不是很好理解,舉個例子,以下兩個聲明是等效的:

string x="D:\\My Huang\\My Doc";string y = @"D:\My Huang\My Doc";

事實上,如果按如下聲明,C#將會報錯,因為“\”在C#中用於實現轉義,如“\n”換行:

string x = "D:\My Huang\My Doc";

* 表示前面的字元要出現0次,1次,乃至多次,上面沒有封頂, 下面保底是0次,可以不出現。
. 匹配除分行符號以外的任一字元
+ 重複一次或更多次
$ 匹配字串的結束

7、匹配整數

System.Text.RegularExpressions.Regex.IsMatch(str, @"^-?\d+$")

小註:

其中str為待驗證的string類型變數

^ 匹配字串的開始
? 重複零次或一次
-? 重複零次或一次-
/d 匹配數字
+ 重複一次或更多次
\d+ 重複一次或更多次數字
$ 匹配字串的結束

或者:

^-?[1-9]\d*$

8、檢測string字串中有哪些數字

9、 取出兩個__之間的部分

result = Regex.Match(abstractObjectEntity.Name, "(?<=_).*?(?=_)").Value;

參考:點擊開啟連結

10、

以上就是一些用到過的Regex的內容,更多相關內容請關注topic.alibabacloud.com(www.php.cn)!

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.