程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> .NET下正則表達式應用的四個示例

.NET下正則表達式應用的四個示例

編輯:.NET實例教程

 1.確認有效電子郵件格式

  下面的代碼示例使用靜態 Regex.IsMatch 方法驗證一個字符串是否為有效電子郵件格式。如果字符串包含一個有效的電子郵件地址,則 IsValidEmail 方法返回 true,否則返回 false,但不采取其他任何操作。您可以使用 IsValidEmail,在應用程序將地址存儲在數據庫中或顯示在 ASP.Net 頁中之前,篩選出包含無效字符的電子郵件地址。

[Visual Basic] 
Function IsValidEmail(strIn As String) As Boolean 
' Return true if strIn is in valid e-mail format. 
Return Regex.IsMatch(strIn, ("^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$") 
End Function

[C#] 
bool IsValidEmail(string strIn) 

// Return true if strIn is in valid e-mail format. 
return Regex.IsMatch(strIn, @"^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$"); 

  2.清理輸入字符串

  下面的代碼示例使用靜態 Regex.Replace 方法從字符串中抽出無效字符。您可以使用這裡定義的 CleanInput 方法,清除掉在接受用戶輸入的窗體的文本字段中輸入的可能有害的字符。CleanInput 在清除掉除 @、-(連字符)和 .(句點)以外的所有非字母數字字符後返回一個字符串。

[Visual Basic] 
Function CleanInput(strIn As String) As String 
' Replace invalid characters with empty strings. 
Return Regex.Replace(strIn, "[^\w\.@-]", "") 
End Function

[C#] 
String CleanInput(string strIn) 

// Replace invalid characters with empty strings. 
return Regex.Replace(strIn, @"[^\w\.@-]", ""); 

  3.更改日期格式

  以下代碼示例使用 Regex.Replace 方法來用 dd-mm-yy 的日期形式代替 mm/dd/yy 的日期形式。

[Visual Basic] 
Function MDYToDMY(input As String) As String 
Return Regex.Replace(input, _ 
"\b(?<month>\d{1,2})/(?<day>\d{1,2})/(?<year>\d{2,4})\b", _ 
"${day}-${month}-${year}") 
End Function

[C#] 
String MDYToDMY(String input) 

return Regex.Replace(input, 
"\\d{1,2})/(?\\d{1,2})/(?\\d{2,4})\\b">\\b(?<month>\\d{1,2})/(?<day>\\d{1,2})/(?<year>\\d{2,4})\\b", 
"${day}-${month}-${year}"); 

  Regex 替換模式

  本示例說明如何在 Regex.Replace 的替換模式中使用命名的反向引用。其中,替換表達式 ${day} 插入由 (?<day>...) 組捕獲的子字符串。

  有幾種靜態函數使您可以在使用正則表達式操作時無需創建顯式正則表達式對象,而 Regex.Replace 函數正是其中之一。如果您不想保留編譯的正則表達式,這將給您帶來方便

  4.提取 URL 信息

  以下代碼示例使用 Match.Result 來從 URL 提取協議和端口號。例如,“http://www.contoso.com:8080/letters/readme.Html”將返回“http:8080”。

[Visual Basic] 
Function Extension(url As String) As String 
Dim r As New Regex("^(?<proto>\w+)://[^/]+?(?<port>:\d+)?/", _ 
RegexOptions.Compiled) 
Return r.Match(url).Result("${proto}${port}") 
End Function

[C#] 
String Extension(String url) 

Regex r = new Regex(@"^(?<proto>\w+)://[^/]+?(?<port>:\d+)?/", 
RegexOptions.Compiled); 
return r.Match(url).Result("${proto}${port}"); 
}  


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