如何使用正则表达式查询名称?

Seb*_*oth 7 oracle regular-expression

如何在列中搜索特定模式?

例如,我喜欢获取以字母 A 或 B 开头的所有用户名。

(顺便说一句:这被标记为oracle,但它可能在其他 RDBMS 中也很有趣)。

Joe*_*Joe 15

您的问题不需要正则表达式:

WHERE name LIKE 'A%' OR name LIKE 'B%'
Run Code Online (Sandbox Code Playgroud)

对于 Oracle,有REGEXP_LIKE;Postresql,还有SIMILAR TO ; mysql 有REGEXP。但要记住的一件事并不是所有的正则表达式引擎都是相同的,所以仅仅因为它们支持正则表达式并不意味着它们一定支持词边界断言、非贪婪量词或否定的回顾断言等。

  • 你真正需要的是`^[AB]` ... `.*$` 是多余的 (3认同)