正则表达式-问号的四种用法
来源:互联网 发布:mac 笔记本电脑 编辑:程序博客网 时间:2024/05/16 01:02
正则表达式-问号的四种用法
原文符号
因为?在正则表达式中有特殊的含义,所以如果想匹配?本身,则需要转义,\?
有无量词
问号可以表示重复前面内容的0次或一次,也就是要么不出现,要么出现一次。
非贪婪匹配
贪婪匹配
在满足匹配时,匹配尽可能长的字符串,默认情况下,采用贪婪匹配
string pattern1 = @"a.*c"; // greedy match
Regex regex = new Regex(pattern1);
regex.Match("abcabc"); // return "abcabc"
非贪婪匹配
在满足匹配时,匹配尽可能短的字符串,使用?来表示非贪婪匹配
string pattern1 = @"a.*?c"; // non-greedy match Regex regex = new Regex(pattern1);regex.Match("abcabc"); // return "abc"
几个常用的非贪婪匹配Pattern
- *? 重复任意次,但尽可能少重复
- +? 重复1次或更多次,但尽可能少重复
- ?? 重复0次或1次,但尽可能少重复
- {n,m}? 重复n到m次,但尽可能少重复
- {n,}? 重复n次以上,但尽可能少重复
不捕捉模式
如何关闭圆括号的捕获能力?而只是用它来做分组,方法是在左括号的后边加上:?,这里第一个圆括弧只是用来分组,而不会占用捕获变量,所以$1的内容只能是steak或者burger,而永远不可能是bronto。
while(<>){
if(/(?:bronto)(steak|burger)/){
print "Fred wants a $1\n" ;
}
}
0 0
- 正则表达式-问号的四种用法
- 正则表达式-问号的四种用法
- 正则表达式-问号的四种用法
- 正则表达式-问号的四种用法
- 正则表达式-问号的四种用法
- 正则表达式-问号的四种用法
- 正则表达式-问号的四种用法
- 正则表达式-问号的四种用法
- 正则表达式中问号的用法
- js正则表达式中的问号几种用法小结
- js正则表达式中的问号几种用法小结
- [转]正则表达式中?的四种用法
- JAVA问号?运算符的用法,问号表达式
- 正则表达式之问号
- java问号表达式用法
- C#中问号的用法(非表达式)---单问号,双问号
- C#中问号的用法(非表达式)---单问号,双问号
- C#中问号的用法(非表达式)---单问号,双问号
- 两个文件a和b,各存放50亿条URL,每条URL占用64字节,内存限制是4G,让你找出a,b文件共同的URL
- HDU 1879 继续畅通工程 最小生成树P算法
- phpcms 列表页中,如何调用其下的所有子栏目?
- HDU - 5015 -233 Matrix
- 重要的grep命令
- 正则表达式-问号的四种用法
- 开发者必须知道的九款快速开发工具
- Hadoop Map/Reduce 原理
- Android: setPreviewCallbackWithBuffer, buffer in the queue and no callbacks
- 收集的网络上大型的开源图像处理软件代码(提供下载链接)
- 【解决问题】加载驱动模块时Device or resource busy的解决方法
- thinkphp基础
- 多线程安全的滑动窗口设计实现
- 40_1 栈结构,满足min,push,pop