程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
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(?d{1,2})/(?d{1,2})/(?d{2,4})b", _

"${day}-${month}-${year}")

End Function

C#代碼示例

String MDYToDMY(String input)

{

return Regex.Replace (input,

"\b(?\d{1,2})/(?\d{1,2})/(?\d{2,4})\b",
"${day}-${month}- ${year}");

}

Regex替換模式

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

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

4.提取URL 信息

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

Visual Basic代碼示例

Function Extension(url As String) As String

Dim r As New Regex("^(? w+)://[^/]+?(?:d+)?/", _

RegexOptions.Compiled)

Return r.Match(url).Result ("${proto}${port}")

End Function

C#代碼示例

String Extension(String url)

{

Regex r = new Regex(@"^(?w+):// [^/]+?(?:d+)?/",

RegexOptions.Compiled);

return r.Match(url).Result ("${proto}${port}");

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