【草稿版本,謹慎閱讀】
參考文檔:正則表達式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+匹配一位或多位字符、數字等。