http://msdn.microsoft.com/zh-cn/library/bs2twtah.aspx
- (?=子表达式)
(零宽度正预测先行断言。) 仅当子表达式在此位置的右侧匹配时才继续匹配。例如,/w+(?=/d) 与后跟数字的单词匹配,而不与该数字匹配。此构造不会回溯。
- (?!子表达式)
(零宽度负预测先行断言。) 仅当子表达式不在此位置的右侧匹配时才继续匹配。例如,/b(?!un)/w+/b 与不以 un 开头的单词匹配。
- (?<=子表达式)
(零宽度正回顾后发断言。) 仅当子表达式在此位置的左侧匹配时才继续匹配。例如,(?<=19)99 与跟在 19 后面的 99 的实例匹配。此构造不会回溯。【注意此处匹配的是1999 红色的99,这个例子不好】
- (?<!子表达式)
(零宽度负回顾后发断言。) 仅当子表达式不在此位置的左侧匹配时才继续匹配。
http://www.cnblogs.com/deerchao/archive/2006/08/24/zhengzhe30fengzhongjiaocheng.html
(?=exp) 匹配exp前面的位置
(?<=exp) 匹配exp后面的位置
(?!exp) 匹配后面跟的不是exp的位置
(?<!exp) 匹配前面不是exp的位置
http://blog.youkuaiyun.com/lxcnn/archive/2009/06/14/4268033.aspx
(?<=Expression)
逆序肯定环视,表示所在位置左侧能够匹配Expression
(?<!Expression)
逆序否定环视,表示所在位置左侧不能匹配Expression
(?=Expression)
顺序肯定环视,表示所在位置右侧能够匹配Expression
(?!Expression)
顺序否定环视,表示所在位置右侧不能匹配Expression
(?=) | |
(?!) | |
(?<=) | |
(?<!) |