【发布时间】:2020-04-01 07:20:37
【问题描述】:
我正在尝试在对 ClickHouse 数据库的查询中结合两种情况的正则表达式:
- 直到符号“@” =>
(^[^@]+) - 没有域 'company\' 和 'company.com\' =>
(?:company\.com\\\\\\\\+|company\\\\\\\\+)(.*)
我发现了两种使用“在线正则表达式”的方法:
^company\\\\(.*)|^(.*)@|^(?!company\\\\.*).*$(?<=company\\\\)(.*)|(.*)(?<=@)|^(?!company\\\\.*).*
但是,构造 ?! 和 ?<= 不受支持(错误:无效的 perl 运算符)。
我使用了命令extract,例如extract(User, '(?<=company\\\\)(.*)|(.*)(?<=@)|^(?!company\\\\.*).*')
请给我一些建议以了解如何使这个正则表达式适合。
括号内 - 应该通过,超出 - 不应该:
- 公司\[ABC-1D2E]
- [ABC-DE]@company.com
- [123-ABCDE]
- [12345]
【问题讨论】:
-
你能提供应该通过和不应该通过的例子吗?
-
sure) 在括号内 - 应该通过,在括号外 - 不应该 1. company\\[ABC-1D2E] 2. [ABC-DE]@company.com 3. [123-ABCDE ] 4. [12345]
标签: regex clickhouse re2