下面内容用·代替空格
前置约束存在 ?=
例如, 表达式 [A|a]bc(?=\sde) 匹配 Abc 和 abc,但是他们后面要跟着·de
即我们匹配的是Abc·de和abc·de里面的Abc 和 abc
\s是转义符代表空格类字符
前置约束驱除 ?!
例如, 表达式 [A|a]bc(?!\sde) 匹配 Abc 和 abc,但是他们后面不要跟着·de
即我们匹配的是Abc·de和abc·de之外的Abc 和 abc,比如Abc·d,abc·d
前置约束可以理解为要确定去匹配出来的字段在后面存在一些其他约束条件,
使得到的字段更精确,或者理解为将筛选出来的字段通过约束进一步筛选
如上的例子,我们要筛选的是Abc或者abc但是是后面要不要跟·de的Abc或者abc
后置约束存在 ?<=
例如, 表达式 (?<=\sde)[A|a]bc 匹配 Abc 和 abc,但是他们前面要跟着·de
即我们匹配的是·deAbc和·deabc里面的Abc 和 abc
后置约束驱除 ?<!
例如, 表达式 (?<!\sde)[A|a]bc 匹配 Abc 和 abc,但是他们前面不要跟着·de
即我们匹配的是·deAbc和·deabc之外的Abc 和 abc,比如·dAbc,·dabc
后置约束可以理解为要确定去匹配出来的字段在前面存在一些其他约束条件,
使得到的字段更精确,或者理解为将筛选出来的字段通过约束进一步筛选
如上的例子,我们要筛选的是Abc或者abc但是是前面要不要跟·de的Abc或者abc