【发布时间】:2019-12-25 20:01:08
【问题描述】:
当我在 Redshift 中运行此查询时:
select distinct bot, case when bot ~ 'Web(\s|\+)Downloader' then 1 else 0 end isbot from bots
我收到此错误:
无效操作:重复操作符之前的正则表达式无效。解析正则表达式片段时出错:'Web(s|+>>>HERE>>>)Downloader'。
但是,当我将正则表达式模式更改为:
Web([\s]|[\+])Downloader
然后查询运行没有错误。
我在这里测试了两个版本的模式:https://regex101.com/
而且它们的行为似乎相同。
但我想在这里发布并验证它们是否确实是同一件事,并且恰好适用于 Redshift。
谢谢!
【问题讨论】:
-
不确定,但您是否尝试过双重转义反斜杠?
-
这样做会转义转义字符,因此搜索反斜杠,这不是我需要的。谢谢
-
没有错误,但它真的有效吗?我怀疑你需要
'Web(\\s|\\+)Downloader'或只是'Web[\\s+]Downloader'
标签: regex pattern-matching amazon-redshift