正则表达试里的(?!pattern) (?<!pattern) 贪婪模式,非贪婪模式,负向预查,正向预查的学习
非贪婪模式:尽可能少的获取匹配模式的字符串
贪婪模式 :尽可能多的获取匹配模式的字符串
例AAAAAAB
贪婪模式: A+ 匹配 AAAAAA
非贪婪模式:A+? 匹配 A
消耗字符:预查中的不消耗字符是指下一次匹配的位置是在上次匹配预查模式的开始处进行的。
例子:aabcbabc 模式:a(?!abc)
匹配次序为:1 aabc 2 abcb 3babc 4 abc
expression(?!pattern):表示 expression后面不能有符合pattern模式的内容
(?<!pattern)expression:表示 expression前面不能有符合pattern模式的内容
相关内容:
(pattern)匹配一个模式可以使用$1,SubMatches,或\n 获取这个这个子匹配,匹配的结果里包含pattern部分
(?:pattern)匹配一个模式,但是不去捕获它 既不能使用,$1,SubMatches,或\n引用它,匹配的结果里包含pattern部分
(?=pattern) 匹配一个包含有pattern模式的字符串,匹配的结果里不包含pattern部分,而是从pattern部分开始继续下次匹配
(?!pattern) 匹配一个不包含pattern模式的字符串
预查不消耗字符