时间:2021-05-02
原文符号
因为?在正则表达式中有特殊的含义,所以如果想匹配?本身,则需要转义,\?
有无量词
问号可以表示重复前面内容的0次或一次,也就是要么不出现,要么出现一次。
非贪婪匹配
贪婪匹配
在满足匹配时,匹配尽可能长的字符串,默认情况下,采用贪婪匹配
? 1 2 3 string pattern1 = @"a.*c"; // greedy match Regex regex = new Regex(pattern1); regex.Match("abcabc"); // return "abcabc"非贪婪匹配
在满足匹配时,匹配尽可能短的字符串,使用?来表示非贪婪匹配
? 1 2 3 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。
? 1 2 3 4 5 while(<>){ if(/(?:bronto)(steak|burger)/){ print "Fred wants a $1\n" ; } }声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
感谢AKA及作者。Perl中的正则表达式正则表达式的三种形式正则表达式中的常用模式正则表达式的8大原则 正则表达式是Perl语言的一大特色,也是Perl程序中
阅读目录正则表达式的创建正则表达式中的特殊字符\(反斜杠)^$*,+,.(小数点)?(问号)(x)(?:x)x(?=y),x(?!y),x|y{n},{n,m}
Java中正则表达式运用实例(参看java中正则表达式运用详解):测试代码packagetest;/***在String的matches()方法,split()
javascript正则表达式分组、断言详解提示:阅读本文需要有一定的正则表达式基础。正则表达式中的断言,作为高级应用出现,倒不是因为它有多难,而是概念比较抽象
ES2015正则表达式新增特性:在原来正则表达式基础上,ES2015增强了对四字节unicode字符的支持等功能。更多正则表达式内容可以参阅正则表达式教程板块。