【发布时间】:2017-11-15 18:46:15
【问题描述】:
我从 oracle 文档中看到我可以执行 a|b 匹配字符“a”或字符“b”的所有实例。我想知道在正则表达式中是否有可能有'a'而不是'b',例如匹配 'a' 的所有实例,但 a 后跟 'b' 除外。
所以用这 3 个字符串
- AAAA
- ACAD
- AAAB
我想匹配 1 和 2 但不是 3。
【问题讨论】:
-
#3 (AAAB) 不匹配 A 后跟非 B 的位置吗? (第一个AA部分)
-
'a' and not 'b' 与“除了 'a' 后跟 'b'”完全不同。字符串 'ba' 不满足条件 [ 'a' 而不是 'b' ] 因为它确实有一个 'b',但它没有出现在 'a' 之后。请澄清。此外,如果您的真正意思是“跟随” - 这是否意味着 立即 跟随,或者它是否意味着“跟随 somewhere 在字符串的后面,不一定立即 在“a”之后?
-
你只需要检查字符串中是否没有
AB,col NOT LIKE '%AB%' AND col LIKE '%A%'
标签: regex oracle regex-negation