[数据结构与算法]模式匹配与文本处理-匿名组与命名组
来源:互联网 发布:dnf好听的装备名字知乎 编辑:程序博客网 时间:2024/04/29 07:54
匿名组
这里可能用到几个不同的分组构造。通过括号内围绕的正则表达式就可以组成第一个构造。正如稍后要介绍的一样,既然也可以命名组,大家就有考虑把这个构造作为匿名组。作为一个实例,请看看下列字符串:
“08/14/57 46 02/25/59 45 06/05/85 18 03/12/88 16 09/09/90 13“
这个字符串就是由生日和年龄组成的。如果需要匹配年两而不要生日,就可以把正则表达式作为一个匿名组来书写:
(\s\d{2}\s)
通过编写这种方式的正则表达式,字符串中的每个匹配就从1开始的数字进行确认。为全部匹配保留数字零,这通常会包含更多的数据。
string words = "08/14/57 46 02/25/59 45 06/05/85 18"+"03/12/88 16 09/09/90 13"; string regExp1 = "(\\s\\d{2}\\s)"; MatchCollection matchSet = Regex.Matches(words,regExp1); foreach (Match aMatch in matchSet) { Console.WriteLine(aMatch.Groups[0].Captures[0]); }
命名组
组通常用名字构建。命名的组更容易使用,这是因为再检索匹配时可以通过名字引用到组。命组是作为正则表达式前缀的问号和一对尖括号括着的名字组成的。例如,为了在先前的程序代码”ages”中命名组,可以把正则表达式写下列形式:
(?\s\d{2}\s)
string words = "08/14/57 46 02/25/59 45 06/05/85 18 " + " 03/12/88 16 09/09/90 13"; string regExp1 = "(?<dates>(\\d{2}/\\d{2}/\\d{2}))\\s"; MatchCollection matchSet = Regex.Matches(words, regExp1); foreach (Match aMatch in matchSet) { Console.WriteLine("Date:{0}",aMatch.Groups["dates"]); }
0 0
- [数据结构与算法]模式匹配与文本处理-匿名组与命名组
- [数据结构与算法]模式匹配与文本处理
- [数据结构与算法]模式匹配-数量词
- [数据结构与算法]模式匹配与文本处理-零宽度正预测先行断言 and 零宽度正回顾后发断言
- 数据结构与算法C#语言描述第八章模式匹配和文本处理
- 《数据结构与算法C#语言描述》笔记8_模式匹配和文本处理
- 模式匹配与KMP算法
- 【数据结构与算法】字符串匹配KMP算法
- 【数据结构与算法】字符串匹配算法
- 【C++数据结构与算法】括号匹配算法
- 匿名管道 与 命名管道
- 匿名管道与命名管道
- 数据结构与算法之KMP 字符串匹配
- 数据结构与算法_字符串匹配
- 数据结构与算法(Java描述)-12、串的模式匹配算法(Brute-Force与KMP算法)
- KMP模式匹配算法分析与实现
- 模式匹配 -- KMP 算法原理与实现
- KMP与BF模式匹配算法
- 基本过滤选择器
- OpenCV blur()
- 01_hadoop发展简史
- 汇编语言之寄存器(内存访问)
- 安卓系统中调试webview页面的实践
- [数据结构与算法]模式匹配与文本处理-匿名组与命名组
- 阿里面试题:关于类中静态,非静态,构造方法的执行顺序
- hdu5861【线段树】
- Method的invoke()方法的使用
- window下在同一台机器上安装多个版本jdk,修改环境变量不生效问题处理办法
- [bzoj4621] Tc605 解题报告
- 排序算法总结
- 为什么开始写微博
- Android manifest中强制设置横屏无效