定义
仅仅拿(?=pattern)作为预查的范例说
(?:pattern) 是匹配了pattern的,但是(?=pattern)是不匹配pattern的
说起来好抽象啊啊啊
那一段文本用正则工具试一下
\n2016年01月01日09:00\n哇哇哇哇哇哇哇哇哇哇\n求求求求求:胸骨稍凹陷,左胸及颈有一长度13cm和闻及血管杂音。病情改善,继续予以禁饮禁食口护理,加强肺部理疗。\n柔柔弱弱:1.食管癌根治术后\n2.冠心病\n图图图图图图图图图吧\n
(?:pattern)
这里因为匹配‘\n哇哇哇哇哇哇哇哇哇哇\n’匹配了‘求求求求求’前的\n,所以‘求求求求求’前面就没有\n可以匹配了,所以‘\n求求求求求:’没有办法匹配出来
(?=pattern)
只是对后面字做预查,并不匹配,所以‘\n求求求求求:’可以匹配出来
曾经纠结这两个的用法到底有何区别,终于了解了