C#中如何使用正則表達式


【草稿版本,謹慎閱讀】

參考文檔:正則表達式30分鍾入門教程

如需系統學習正則表達式內容,請移步上述教程。

 

正則表達式按照指定的規則來匹配字符或字符串。'.' ' \b' ' \d'等等被稱為是正則表達式中的元字符,比如說點元字符用來匹配換行符以外的其他任意字符,\b元字符用來匹配單詞,\s元字符用來匹配空格等等。

正則表達式轉換:

Show you the code:(\S)

1             string input = "I is      Lily.";
2             string pattern = @"\s+";
3             string replacement = " ";
4             string result = Regex.Replace(input, pattern, replacement);
5 
6             Console.WriteLine("Original String: {0}", input);
7             Console.WriteLine("Replacement String: {0}", result);

  \s用來匹配空格,而\s+則是用來匹配一個或多個和空格,如代碼所示,將一個或多個空格,替換成一個空格,運行效果如圖:

Show you the code:(\b)

1             string input = "I is Lily.";
2             string pattern = @"\bis\b";
3             string replacement = "am";
4             string result = Regex.Replace(input, pattern, replacement);
5             Console.WriteLine("Original String: {0}", input);
6             Console.WriteLine("Replacement String: {0}", result);

 \b用來匹配單詞,則\bis\b用來匹配單詞is,並將is替換成am,運行效果如圖:

Show you the code:(.*)

            input = "Sis a girlD";
            pattern = @"is\b.*\bgirl";
            replacement = "*";
            result = Regex.Replace(input, pattern, replacement);
            Console.WriteLine("Original String: {0}", input);
            Console.WriteLine("Replacement String: {0}", result);

  .*用來匹配任意數量的非換行字符,則pattern匹配以is開頭girl結尾,且is后面和girl前面必須緊鄰空格的字符串,運行效果如圖:

 驗證正則表達式是否匹配:

Show you the code:(\d)

 1             string phone = "";
 2             string pattern = @"1\d{10}";
 3             bool result = false;
 4             Console.WriteLine("請輸入你的手機號碼");
 5             do
 6             {
 7                 phone = Console.ReadLine();
 8                 result = Regex.IsMatch(phone, pattern);
 9                 if (!result)
10                     Console.WriteLine("BadNum,try again");
11             } while (!result);
12             Console.WriteLine("Good");

  \d用來匹配一位數字,則d{10}用來匹配10位數字,運行效果如下:

  

  持續更新中...

 

常見正則表達式元字符:

1:\w 匹配任意的字母,數字或者下划線,則\w+匹配一位或多位字符、數字等。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM