首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >postgresql posix regexp

postgresql posix regexp
EN

Stack Overflow用户
提问于 2017-02-21 15:32:55
回答 2查看 122关注 0票数 0

我有以下几行数据:

login;visit_homepage;buy register;login;buy;visit_homepage

我想匹配所有有登录事件和购买事件的行。在登录和购买事件之间可能还有其他一些事件。购买可以是最后一个事件,登录可以是第一个事件。我需要完全匹配的登录和购买而不是通配符。

我试过这样做:

SELECT * FROM events WHERE events_list ~ 'login;.*buy;?.*$';

但我认为它不适用于所有案件。

谢谢

EN

回答 2

Stack Overflow用户

发布于 2017-02-21 15:49:58

此正则表达式应该与行匹配:

代码语言:javascript
复制
\mlogin\M.*?\mbuy\M

它搜索单词login,后面跟着buy

  • \m匹配单词的开头
  • \M匹配一个单词的结尾

边界的使用阻止匹配组成单词的loginbuy (例如。foologin)。

关于这些POSIX的更多信息,请在PostgreSQL 这里中转义。

票数 2
EN

Stack Overflow用户

发布于 2017-02-21 15:43:41

尝试这个regex来选择这两个行

login;.*buy.*$login.*buy.*$

您可以检查演示这里

或者您可以通过使用login.*buy来简化它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42371548

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档