C#正则表达式引擎贪婪特性是什么
发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,本篇内容主要讲解"C#正则表达式引擎贪婪特性是什么",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"C#正则表达式引擎贪婪特性是什么"吧!C#正则表达式引擎贪
千家信息网最后更新 2025年01月20日C#正则表达式引擎贪婪特性是什么
本篇内容主要讲解"C#正则表达式引擎贪婪特性是什么",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"C#正则表达式引擎贪婪特性是什么"吧!
C#正则表达式引擎贪婪特性,只要模式允许,它将匹配尽可能多的字符。通过在"重复描述字符"(*,+)后面添加"?",可以将匹配模式改成非贪婪。请看以下示例:
Code string x = "Live for nothing,die for something"; Regex r1 = new Regex(@".*thing"); if (r1.IsMatch(x)) { Console.WriteLine("match:" + r1.Match(x).Value); //输出:Live for nothing,die for something } Regex r2 = new Regex(@".*?thing"); if (r2.IsMatch(x)) { Console.WriteLine("match:" + r2.Match(x).Value); //输出:Live for nothing }
使用"(?>…)"方式进行非回溯声明。由于C#正则表达式引擎的贪婪特性,导致它在某些情况下,将进行回溯以获得匹配,请看下面的示例:
Code string x = "Live for nothing,die for something"; Regex r1 = new Regex(@".*thing,"); if (r1.IsMatch(x)) { Console.WriteLine("match:" + r1.Match(x).Value); //输出:Live for nothing, } Regex r2 = new Regex(@"(?>.*)thing,"); if (r2.IsMatch(x))//不匹配 { Console.WriteLine("match:" + r2.Match(x).Value); }
在r1中,".*"由于其贪婪特性,将一直匹配到字符串的***,随后匹配"thing",但在匹配","时失败,此时引擎将回溯,并在"thing,"处匹配成功。
在r2中,由于强制非回溯,所以整个表达式匹配失败。
到此,相信大家对"C#正则表达式引擎贪婪特性是什么"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
贪婪
引擎
特性
表达式
正则
C#
字符
输出
内容
模式
示例
请看
学习
实用
更深
成功
兴趣
字符串
实用性
实际
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
扬州专业联想服务器安装
单招网络安全学校有哪家
阿里云数据库中奖
皇室战争连不上服务器
外国十大热门网络安全公司
阎良区软件开发推荐
广东调度服务器安装虚拟主机
游戏代理服务器
号码数据库类型
无锡电子网络技术市场价格
启东有口碑的网络技术排名靠前
肇庆软件开发工程哪家有名
网络技术性考作业3
软件开发按工时计算
交通运输网络安全宣传
深圳互联网信息科技有限公司
上海电商软件开发定制平均价格
小学生关于网络安全
广东反邪教网络安全教育
wpf创建数据库并设置编码
伦教网络安全找哪家
尖刀下载软件开发
数据库可以分为哪四大类
郴州市学电脑软件开发在哪学
如何打好网络安全主动仗
技嘉服务器raid设置
一般数据库cpu使用率
图标怎么编辑数据库
数据库表修改字符串的某个字符
芜湖安卓软件开发定制