C# 正则分组捕获

分组语法 捕获
(exp) 匹配exp,并捕获文本到自动命名的组里

(?<name>exp) 匹配exp,并捕获文本到名称为name的组里,也可以写成(?‘name‘exp)

(?:exp) 匹配exp,不捕获匹配的文本

位置指定
(?=exp) 匹配exp前面的位置

(?<=exp) 匹配exp后面的位置

(?!exp) 匹配后面跟的不是exp的位置

(?<!exp) 匹配前面不是exp的位置

注释
(?#comment) 这种类型的组不对正则表达式的处理产生任何影响,只是为了提供让人阅读注释

时间: 2024-11-10 08:05:12

C# 正则分组捕获的相关文章

正则RegExp的懒惰性和贪婪性; 分组捕获;

1.正则的懒惰性??? 每次在它的方法exec中捕获的时候,只捕获第一次匹配的内容,而不往下捕获,我们把这种情况称为正则的懒惰性 且每一次捕获的位置都是从索引0开始 正则的实例对象上有一个lastindex的属性,是正则开始捕获的起始位置 var reg=/\d+/; var st="abc123efg456"; console.log(reg.exec(st))输出123 如何解决正则的懒惰性呢 用一个修饰词"g"就可以了 2.正则的贪婪性??? 每次匹配到的结果

js学习总结----分组捕获

正则分组: 1.改变优先级 2.分组引用 //\2代表和第二个分组出现一模一样的内容:\1和第一个分组出现一模一样的内容:和对应的分组中的内容的值都要一样 var reg = /^(\w)\1(\w)\2$/ console.log(reg.test("zzff")) //true 3.分组捕获 ->正则在捕获的时候,不仅仅把大正则匹配的内容捕获到,而且还可以把小分组匹配的内容捕获到. (?:)在分组中?:的意思是只匹配不捕获 match和exec也是有一点区别的

js正则分组&amp;引用

分组 /(\d{4})-(\d{2})-(\d{2})/.test('2019-08-25') // true RegExp.$1='2019' RegExp.$2='08' RegExp.$3='25' RegExp.$4='' RegExp.$_='2019-08-05' // 最多到RegExp.$9,没有$10,这本身是js的坑 // 解决: '2019-08-25'.match(/(\d{4})-(\d{2})-(\d{2})/); // 0: "2019-08-25" //

正则表达式分组捕获非捕获的示例理解

举几个例子 一.使用捕获型() 比如0.23 1.(^\d+)(\.)(\d{0,2}) 正则表达式有3个()使用match就会产生3个分组 2.^\d+\.\d{0,2} 没有(),不产生分组 二.非捕获型(?:) (?:^\d+)(\.)(\d{0,2}) 第一个分组不再捕获 原文地址:https://www.cnblogs.com/zhaogaojian/p/12207959.html

python正则分组

python的正则表达式本身每一个字符串都是独立的 看下面的例子就理解分组的含义了~ ab*表示的是查找a和(0个或多个b),就是*是单独针对b的,所以返回a (ab)*则表示ab是一个组是一个整体,此时*是针对ab的,所以返回的是空串

在VisualStudio 编辑器文本替换中使用正则表达式

替换时使用正则表达式,其优点在于可以通过正则分组捕获,并在替换字符串中使用. 在VS2012之前的版本中,捕获内容用{}包含,引用时,使用 \1 形式: 在VS2012及以后版本中,捕获内容符合正则表达式,用()包含,引用时使用 $1 形式. 下面以新版本格式举例说明: 假设代码中包含多个自动属性,如 1 public bool IsChecked { get; set; } 2 public double Width { get; private set; } 3 private int Co

正则捕获的细节及replace分析

1.var reg=/./与var reg=/\./的区别? 前者代表任意一个字符, 后者代表这个字符串中得有一个点 2.?的使用 如果单独的一个字符后面带? 代表1个或0个这个字符的出现: 列如: /\d?/ 如果量词+后面带? 取消正则的贪婪性 在捕获的阶段 3.捕获: 1.普通捕获 正则的方法exec() 字符串的方法match() 普通捕获有懒惰性: 给正则添加一个修饰符g,可以解决: match是将所有捕获的内容放在一个数组中,并返回,match就是exec()对函数的简单封装 2.分

正则2

实例创建与字面量创建的区别: 1.实例创建的方式需要多转译一次,把具有特殊意思并且带\的都要多转译一次 var reg = /\d/; var reg = new RegExp("\\d"); 2.在字面量方式中,用"//"包起来的都是我们的元字符,有具有特殊意义的元 字符.代表出现次数的量词元字符.代表本身意思的普通元字符,字面量方式无法识别变量,实例创建的方式可以 var c = "w100"; var reg = /^"+c+&q

正则学习(1)--- 基本规则总结

在正则表达式的使用上,俺一直在打游击,是时候来个总结了.由于愚笨等不可抗拒的原因,只能选简单的说,只写下对ASCII编码字符的匹配和php相关的,其他的Unicode的和其他不同流派的,以后碰到了再学习下就行,应付平常的应该够了. 首先需要接受正则的概念,它是用来寻找文本的一种规则,简单的文本检索,比如字符串查找strpos,只是简单的查找某一串字符的出现,只要稍微变动下需求,比如要查找这样5个字符,前面两个是数字,后面3个是字母,且忽略大小写,如果单纯用字符串查找等方法做,显得很麻烦,而用正则