正则学习:组的定义及引用方式
2006-08-31 11:57
260 查看
一个正则表达式匹配结果可以分成多个部分,这就是组(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
另外也可以用(?<数字>)的方式手工给每个括号对的组编号
苦闷的是如果过一段时间不使用正则的话,里面的符号很容易就忘记了,:-)
把一次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
另外也可以用(?<数字>)的方式手工给每个括号对的组编号
苦闷的是如果过一段时间不使用正则的话,里面的符号很容易就忘记了,:-)
相关文章推荐
- 正则学习:组的定义及引用方式
- 正则学习:组的定义及引用方式
- 用类名做方法的返回值类型 在学习Java的初始阶段,很多同学使用基本数据类型定义变量和引用类型定义变量以及使用类名做方法的返回值类型常常不知所以。今天我以自己的解读方式和个人的理解作一个简单的解释,和
- WPF开发学习:资源在内外部定义的不同方式和怎么引用,Style样式的四种使用(对比CSS)
- 正则表达式学习记录-后向引用
- java学习个人笔记---java内存管理之Java对象的引用方式
- 以实践的方式学习C++ &(引用)
- 黑马程序员—C学习笔记—结构体变量五种定义方式与指针结构体数组探究
- JavaScript学习12 JS中定义对象的几种方式
- Python学习7-模块的定义和引用
- JavaScript学习12 JS中定义对象的几种方式
- hadoop学习;自己定义Input/OutputFormat;类引用mapreduce.mapper;三种模式
- 正则表达式创建方式的区别及编写简单的正则方式(js学习总结)
- JavaScript权威指南_85_第10章_正则表达式的模式匹配_10.1.4-正则表达式的定义-选择、分组、引用
- mine学习及三种数据定义方式总结
- PHP中来定义字符串的三种方式(第三章 字符串与正则表达式)
- C++基础学习笔记----第六课(const和引用的扩展、重载函数和C方式编译的深入)
- Scala学习第十六天 包的定义、包对象、包的引用、包的隐式引用代码实战
- JavaScript学习12 JS中定义对象的几种方式
- HTML5学习_day01(3)--css样式引用方式