ASP.NET应用技巧:正则学习之组的定义及引用方式

asp.net|技巧|正则

一个正则表达式匹配结果可以分成多个部分,这就是组(Group).
把一次Match结果用(?<name>)的方式分成组,例子:
public static void Main()
            {
             string s = "2005-2-21";
             Regex reg = new   Regex(@"(?<y>\d{4})-(?<m>\d{1,2})-(?<d>\d{1,2})",RegexOptions.Compiled);
             Match match = reg.Match(s);
             int year = int.Parse(match.Groups["y"].Value);
             int month = int.Parse(match.Groups["m"].Value);
             int day = int .Parse(match.Groups["d"].Value);
             DateTime time = new DateTime(year,month,day);
             Console.WriteLine(time);
             Console.ReadLine();
            }
也可以根据正则里面()的顺序,使用编码访问组.第一个括号对包涵的组被自动编号为1,后面的括号依次编号为2、3……
访问方式:match.Groups[1].Value

另外也可以用(?<数字>)的方式手工给每个括号对的组编号

苦闷的是如果过一段时间不使用正则的话,里面的符号很容易就忘记了,:-)

时间: 2024-11-03 22:10:12

ASP.NET应用技巧:正则学习之组的定义及引用方式的相关文章

js 正则学习小记之左最长规则

原文:js 正则学习小记之左最长规则 昨天我在判断正则引擎用到的方法是用 /nfa|nfa not/ 去匹配 "nfa not",得到的结果是 'nfa'.其实我们的本意是想得到整个字符串 "nfa not" 的,可却只得到了 'nfa'. 再来看个例子,/an (nfa)?(nfa test)?/ 去匹配 "an nfa test",如果和上面一样的解释,那应该只得到 'an nfa',接着第一个捕获组里是 'nfa' 第二个捕获组里是空. 我

js 正则学习小记之匹配字符串

原文:js 正则学习小记之匹配字符串 今天看了第5章几个例子,有点收获,记录下来当作回顾也当作分享. 关于匹配字符串问题,有很多种类型,今天讨论 js 代码里的字符串匹配.(因为我想学完之后写个语法高亮练手,所以用js代码当作例子) var str1 = "我是字符串1哦,快把我取走", str2 = "我是字符串2哦,快把我取走"; 比如这样一个字符串,匹配起来很简单 /"[^"]*"/g 即可. PS: 白色截图是 chrome 3

Asp.Net小技巧之在client端调用server端事件

asp.net|client|server|技巧 Asp.Net小技巧之在client端调用server端事件: string strCMD = Page.GetPostBackClientHyperlink(ControlName,Parameter); OtherControlName.Attributes.Add("ClientEventName", strCMD); 小注:   在上述两行代码中,利用Page.GetPostBackClientHyperlink方法来取得对服务

ASP.NET应用技巧:JS完成ListBox内容的交互实例

asp.net|js|技巧|交互 运行效果如下: 这几天在做一个关于大学排名的网站,其中遇到了上图中的问题,需向某个对象中添加新的学校群体,这就用到了ListBox,而要进行两个ListBox之间的交互,无疑有两个办法:一个是在服务器端与客户端不停的PostBack,这无疑会大大降低效率.这是就体现出JavaScript在客户端的优势.下面介绍一下,又不足的地方希望大家指出! 下面是JS代码:用四个函数分别对应四个按钮,完成该功能. <script type="text/javascrip

ASP创建对象的技巧

ASP创建对象的技巧 -------------------------------------------------标题:(< OBJECT > vs. Server.CreateObject()) 原文:http://www.asp101.com/tips/index.asp?id=4翻译:Pine------------------------------------------------- 当我们使用服务器组件创建对象时,一般有两种方法.比较常用的方法是用SERVER对象的Crea

Asp.net实用技巧(2)

asp.net|技巧   1. 在Asp.net实用技巧(1) 中提到了如何刷新父页面,那么如果要刷新父页面的父页面的父页面了?那就是刷新祖先页面RefreshAncestorPage. RefreshAncestorPage#region RefreshAncestorPage        /**//// <summary>        /// 刷新指定的祖先页面,注意是"祖先页面"            /// </summary>           

那些年,我还在学习asp.net(二) 学习笔记_基础应用

那些年,我还在学习asp.net(二) 那些年觉得看视频是很轻松的了解一个东西,但是这样的不足就是感觉太慢了,没有看书来得快,所以在有了一些了解后,还得看点书,也许书上的不一定好,但书上会把每一个应该说到的地方说到,好有个初步的认识.比如说.NET平台.组件等知识的介绍,所以,那些年就开始了asp.net方面的进一步学习. 一.学习asp.net的准备知识 正如我前面那些年所学习的,在开始之前得对它们有一定的认识: 1.  html语言的基本使用 2.  CSS+DIV的学习,撑握基本的布局 3

ASP.NET中 RegularExpressValidator(正则验证)的使用

原文:ASP.NET中 RegularExpressValidator(正则验证)的使用 ylbtech-ASP.NET-Control-Validator: RegularExpressValidator(正则验证)的使用  ASP.NET中 RegularExpressValidator(正则验证)的使用. 1.A,运行效果返回顶部 RegularExpressionValidator:正则验证 属性: ControlToValidate:要验证的控件 ErrorMessage:错误提示信息

js 正则学习小记之NFA引擎

原文:js 正则学习小记之NFA引擎 之前一直认为自己正则还不错,在看 次碳酸钴,Barret Lee 等大神都把正则玩的出神入化后发现我只是个战五渣.  求抱大腿,求大神调教.   之前大致有个印象,正则有很多种引擎,但我根本不知道有哪些引擎. 今天在读<精通正则表达式>才发现有Traditional NFA,POSIX NFA 和 DFA (具体自己百度下吧).可用了这么久的正则,还不知道 js 属于哪一种呢.在<精通正则表达式>里有个简单是方法检测属于哪一种. 用 /nfa|