【发布时间】:2016-06-13 22:59:59
【问题描述】:
能否请您帮助我了解 RE2 是否允许否定正则表达式(与“grep -v”的效果相同,即“选择与给定表达式不匹配的所有内容”)?
比如我可以匹配(肯定匹配):
"[[:upper:]][[:upper:]][[:upper:]][[:digit:]]"
如何使用 RE2 选择与上述表达式不匹配的所有内容(否定匹配)?
感谢您的帮助!
【问题讨论】:
能否请您帮助我了解 RE2 是否允许否定正则表达式(与“grep -v”的效果相同,即“选择与给定表达式不匹配的所有内容”)?
比如我可以匹配(肯定匹配):
"[[:upper:]][[:upper:]][[:upper:]][[:digit:]]"
如何使用 RE2 选择与上述表达式不匹配的所有内容(否定匹配)?
感谢您的帮助!
【问题讨论】:
RE2 没有负面的回顾。
我发现最好的方法是匹配底片并丢弃它们,然后在其余部分中搜索您想要的内容。或者根据您的编码方式,查找不为真或不等于 RE2 否定表达式和 RE2 正表达式的真或等于的条件。
【讨论】:
WHEN REGEXP_CONTAINS(section, r"(.*(traffic).*)") AND NOT REGEXP_CONTAINS(section, r"(.*trafficing.*)")