程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C#正則表達式整理備忘(6)

C#正則表達式整理備忘(6)

編輯:關於C語言

(12)對[0,100]的比較完備的匹配

下面是一個比較綜合的示例,對於匹配[0,100],需要特殊考慮的地方包括

*00合法,00.合法,00.00合法,001.100合法

*空字符串不合法,僅小數點不合法,大於100不合法

*數值是可帶後綴的,如“1.07f”表示該值為一個float類型(未考慮)

Code

Regex r = new Regex(@"^\+?0*(?:100(\.0*)?|(\d{0,2}(?=\.\d)|\d{1,2}(?=($|\.$)))(\.\d*)?)$");
string x = "";
while (true)
{
  x = Console.ReadLine();
  if (x != "exit")
  {
    if (r.IsMatch(x))
    {
      Console.WriteLine(x + " succeed!");
    }
    else
    {
      Console.WriteLine(x + " failed!");
    }
  }
  else
  {
    break;
  }
}

(13)精確匹配有時候是困難的

有些需求要做到精確匹配比較困難,例如:日期、Url、Email地址等,其中一些你甚至需要研究一些專門的文檔寫出精確完備的表達式,對於這種情況,只能退而求其次,保證比較精確的匹配。例如對於日期,可以基於應用系統的實際情況考慮一段較短的時間,或者對於像Email的匹配,可以只考慮最常見的形式。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved