asp.net api正则表达式

除了 asp教程.net 验证控件,在.net 中使用正则表达式的大多数情况都要使用 system.text.regularexpressions 命名空间中发现的类。特别是那些您希望熟悉的主类 regexmatchmatchcollection

顺便说一下,正则表达式缩写样式 regex 的发音究竟是 /reg-eks/ 还是 /rej-eks/,还有一些争议。本人倾向于后者,但两种发音都有专家赞同,所以选择哪个发音由您自己决定。

regex 类有大量的方法和属性,如果您以前没有用过它,可能会感到无所适从。下面汇总了一些最常用的方法:


方法


说明


escape / unescape


字符串中的转义元字符,用作表达式中的文字。


ismatch


如果正则表达式在输入字符串中发现匹配,返回“ture”。


match


如果在输入字符串中发现匹配,则返回匹配对象。


matches


如果在输入字符串中发现包含任何或全部匹配,则返回匹配集合对象。


replace


用给定的替换字符串替换输入字符串中的匹配。


split


将输入字符串拆分成用正则表达式匹配分开的数组元素时,返回数组字符串。

除了指定很多方法外,还有一些选项可以指定,通常在 regex 对象构造函数中。由于这些选项是位屏蔽的一部分,或许可以同时指定这些选项(如,可以同时指定 multiline 和 singleline)。


方法


说明


compiled


当在循环中执行许多匹配操作时使用此选项。这可以节省每一循环的分析表达式步骤。


multiline


它与输入字符串中的行数没有关系。确切地说,它只修改 ^$ 的方式,以便匹配行开始 (bol) 和行结尾 (eol),而不是匹配整个输入字符串的开始和结尾。


ignorecase


使模式在匹配搜索字符串时忽略大小写。


ignorepatternwhitespace


允许根据需要在模式中包括任意数量的空白区域,也支持使用 (?# 注释 #) 语法在模式中加入注释。


singleline


它与输入字符串中的行数没有关系。更确切地说,它将导致 .(句点)元字符匹配任意字符,而不是除 n 之外的任意字符(默认情况)。

使用正则表达式常执行的操作包括:验证、匹配和替换。大多数情况下,可以使用 regex 类的静态方法完成这些操作,不需要实例化 regex 类本身。要执行验证,全部要做的就是必建或找到正确的表达式,然后使用 regex 类的 ismatch() 方法将表达式应用到输入字符串中。例如,下面的函数演示了如何使用正则表达式验证邮政编码:

private void validatezipbutton_click(object sender, system.eventargs e)
{
   string zipregex = @"^d{5}$";
   if(regex.ismatch(ziptextbox.text, zipregex))
   {
      resultlabel.text = "zip is valid!";
   }
   else
   {
      resultlabel.text = "zip is invalid!";
   }
}

类似的,可以使用静态 replace() 方法将匹配替换为特定字符串,如下所示:

string newtext = regex.replace(inputstring, pattern, replacementtext);

最后,可以使用如下代码遍历输入字符串的匹配集合:

private void matchbutton_click(object sender, system.eventargs e)
{
   matchcollection matches = regex.matches(searchstringtextbox.text,
matchexpressiontextbox.text);
   matchcountlabel.text = matches.count.tostring();
   matcheslabel.text = "";
   foreach(match match in matches)
   {
      matcheslabel.text += "found" + match.tostring() + " at
position " + match.index + ".<br>";
   }
}

通常,在您需要指定默认方式以外的方式时,需要实例化 regex 类的实例。特别是在设置选项时。例如,要创建忽略大小写和模式空白区域的 regex 实例,然后检索与该表达式匹配的集合,则应使用如下代码:

regex re = new regex(pattern,
   regexoptions.ignorecase | regexoptions.ignorepatternwhitespace);
matchcollection mc = re.matches(inputstring);

本文的下载文件中包括这些示例的完整使用版本,与简单 asp.net教程 页中的一样。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索正则表达式
, 字符串
, 实例
, regex
, 表达式
模式
,以便于您获取更多的相关知识。

时间: 2024-10-31 05:23:52

asp.net api正则表达式的相关文章

在ASP中利用“正则表达式” 对象实现UBB风格的论坛

ubb|对象|正则 上一次,我们谈到在ASP中如何利用"正则表达式"对象来实现各种数据的校验,文中描述了正则表达式对象的强大功能,接下来,我们来看看有关"正则表达式"对象的其他功能.当我们在网上冲浪的时候,尤其是浏览各类论坛的时候,经常会见到"UBB代码"这个词语.什么是UBB代码呢?UBB代码是HTML的一个变种http://www.alixixi.com/program/a/,是Ultimate Bulletin Board (国外一个BBS

ASP技巧:正则表达式在网页处理中的应用

技巧|网页|正则 正则表达式(Regular Expression)为字符串模式匹配提供了一种高效.方便的方法.几乎所有高级语言都提供了对正则表达式的支持,或者提供了现成的代码库供调用.本文以ASP环境中常见的处理任务为例,介绍正则表达式的应用技巧. 一.检验密码和邮件地址的格式 我们的第一个实例示范正则表达式的一项基本功能:抽象地描述任意复杂的字符串.它的意思就是,正则表达式给予程序员一种形式化的字符串描述方法,只需很少的代码即可描述出应用遇到的任意字符串模式.例如,对于不从事技术工作的人来说

ASP中利用“正则表达式” 对象实现UBB代码

ubb|对象|正则 上一次,我们谈到在ASP中如何利用"正则表达式"对象来实现各种数据的校验,文中描述了正则表达式对象的强大功能,接下来,我们来看看有关"正则表达式"对象的其他功能.当我们在网上冲浪的时候,尤其是浏览各类论坛的时候,经常会见到"UBB代码"这个词语.什么是UBB代码呢?UBB代码是HTML的一个变种http://www.alixixi.com/program/a/,是Ultimate Bulletin Board (国外一个BBS

在ASP中利用正则表达式 对象实现UBB风格的论坛(转)

ubb|对象|正则 在ASP中利用"正则表达式" 对象实现UBB风格的论坛     转贴者语:无意中在中华网发现了此文,说的就是本站论坛的UBB风格的实现原理,所以贴出来和大家一起分享. 我们谈到在ASP中如何利用"正则表达式"对象来实现各种数据的校验,文中描述了正则表达式对象的强大功能,接下来,我们来看看有关"正则表达式"对象的其他功能.当我们在网上冲浪的时候,尤其是浏览各类论坛的时候,经常会见到"UBB代码"这个词语.什么

通过几个例子了解asp中使用正则表达式

正则 Http://www.asp888.net 豆腐技术站 通过几个非常实用的例子了解asp中使用正则表达式 我们知道,在 VBscript 5.0 开始支持 正则表达式,下面我们通过几个常用的应用例子来帮助我们了解和使用 这个好的程序书写格式1首先,密码验证 我们的密码验证的规则是--密码的第一个字母不能是数字,密码的长度在在 4 和 16 之间而且密码中只能包含 字符,数字和下划线 我们姑且不去考虑这样的限制是否有道理,我们的 任务是 学习 正则表达式Function ValidatePa

正则表达式 java-Java API 正则表达式的匹配问题

问题描述 Java API 正则表达式的匹配问题 (1)正则表达式 w{8,10} 字符串"abcd1234_abcd"可以验证通过吗? (2)String regex="w{5}"; System.out.println("abcdefg".matches(regex)); 结果是什么? (1)和(2)有什么区别?

asp.net 验证正则表达式集合-1

asp.net 验证正则表达式 整数或者小数:^[0-9]+\.{0,1}[0-9]{0,2}$ 只能输入数字:"^[0-9]*$". 只能输入n位的数字:"^\d{n}$". 只能输入至少n位的数字:"^\d{n,}$". 只能输入m~n位的数字:."^\d{m,n}$" 只能输入零和非零开头的数字:"^(0|[1-9][0-9]*)$". 只能输入有两位小数的正实数:"^[0-9]+(.[0-

AngularJS向后端ASP.NET API控制器上传文件_AngularJS

本文实例介绍了前端AngularJS向后端ASP.NET Web API上传文件的实现方法,具体内容如下 首先服务端: public class FilesController : ApiController { //using System.Web.Http [HttpPost] public async Task<HttpResponseMessage> Upload() { if(!Request.Content.IsMimeMultipartContent()) { this.Requ

[asp]中的正则表达式运用代码

今天在改一套b2b的电子商务系统时,发现ASP正则,虽然用ASP很久了,但从来没用过正则表达式,这套系统中有个正则的函数很不错,自己看吧. 复制代码 代码如下: <%   Function RegExpTest(patrn, strng)      Dim regEx, Match, Matches   ' 建立变量.      Set regEx = New RegExp   ' 建立正则表达式.       regEx.Pattern = patrn   ' 设置模式.      regEx