我正在尝试拆分where子句,我想在AND|OR|NOT
上拆分文字,除非NOT
位于“词组”NOT IN
或NOT LIKE
或{{1} }}
第一个例子:
IS NOT NULL
我希望在DEVLDATE IS NOT NULL AND STATUS = D AND PICKUPDATE IS NULL
上分割3个分段,但在此实例中不在AND
分割。
第二个前:
NOT
我想分开这个(NOT (STATUS IN ('A','X') )) AND LINEHAUL = 0
& NOT
,在这个例子中也期望3个段
我正在尝试从另一个几乎相似的例子中看到它,但它根本没有分裂。我接下来的零正则表达式经验。不确定我错过了什么,或者是否可能。
提前致谢。
AND
答案 0 :(得分:1)
尝试:
\b(AND|OR|NOT(?!\s+NULL|IN|LIKE))\b
关于你的正则表达式:
(?!.*\b([NOT IN]|[NOT LIKE]|[NOT BETWEEN]|[IS NOT NULL])\b)(?=.*\b(AND|OR|NOT)\b
[NOT IN]
- 这是字符类[...]
,它将匹配字符
你放入,所以它可以匹配:N,T等。不完整
字/句子,([NOT IN]|[NOT LIKE]|[NOT BETWEEN]|[IS NOT NULL])
- 这整个部分实际上只能匹配一个字符,因为它不使用任何量词或间隔,它根本无法正常工作,