温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

.NET下正则表达式应用实例

发布时间:2021-08-13 23:54:16 来源:亿速云 阅读:86 作者:chen 栏目:编程语言

这篇文章主要讲解了“.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}");

}

感谢各位的阅读,以上就是“.NET下正则表达式应用实例”的内容了,经过本文的学习后,相信大家对.NET下正则表达式应用实例这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI