PostgreSQL:模式匹配操作符

三种模式匹配的方法

  • 传统 SQL 的 LIKE 操作符。

  • SQL99 新增的 SIMILAR TO 操作符

  • POSIX 风格的正则表达式

LIKE 操作符

  • %:代表 0 个活任意个字符

  • _:代表任意一个字符

  • \:用于转译 % 和 _

  • ESCAPE:使用指定成其他的字符

  • \\:连续两个转义符去除其特殊的意义。

  • ~~:等效于 LIKE

  • ~~*:等效于 ILIKE

  • !~~:等效于 NOT LIKE

  • !~~*:等效于 NOT ILIKE

SIMILAR TO 操作符

  • 只有匹配整个字符串时才能成功,也使用下划线和百分号进行匹配

  • 也支持如下与 POSIX 正则表达式相同的模式匹配元字符

    • |:表示两个候选项之一

    • *:表示重复前面的项零次或更多次

    • +:表示重复前面的项一次或更多次

    • ?:表示重复前面的项零次或一次

    • {m}:表示重复前面的项 m 次

    • {m,}:表示重复前面的项 m 次或更多次

    • {m,n}:表示重复前面的项至少 m 次,不超过 n 次。

    • ():可以作为项目分组到一个独立的逻辑项中。

    • [...]:声明一个字符类,就像 POSIX 正则表达式

正则表达式操作符

  • ~:匹配正则表达式,区分大小写。

  • ~*:匹配正则表达式,不分大小写。

  • !~:不匹配正则表达式,区分大小写

  • !~*:不匹配正则表达式,不分大小写。

请使用浏览器的分享功能分享到微信等