首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Reg.ex模式匹配在postgresql中无效

Reg.ex模式匹配在postgresql中无效
EN

Stack Overflow用户
提问于 2019-07-15 11:58:49
回答 1查看 57关注 0票数 1

我有一个select查询,它使用regex来匹配大字符串内容中的字符串。

不知何故,当我在pgadmin中运行它时,它不会产生任何结果。但是,当我在其他regex匹配工具中测试时,相同的模式匹配所需的模式。

代码语言:javascript
复制
select count(DEVICE.DeviceID) from DEVICE 
where ('!   
redundancy   
!   
vlan internal allocation policy ascending   
!' ~* '^redundancy$')

我期待模式匹配,因为字符串“冗余”存在于一行中。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-15 12:15:13

您需要指定https://www.postgresql.org/docs/current/functions-matching.html#POSIX-MATCHING-RULES

代码语言:javascript
复制
m   historical synonym for n
n   newline-sensitive matching

如果指定了新行敏感匹配,则使用.^的括号表达式将永远不会匹配换行符(因此,除非RE显式地安排换行符,否则匹配将永远不会跨越换行符),^$将分别匹配换行符前后的空字符串,以及字符串开始和结束时的匹配。但是,ARE转义符\A\Z继续只匹配字符串的开始或结束。

使用任何一种

代码语言:javascript
复制
'(?m)^redundancy$'

代码语言:javascript
复制
'(?n)^redundancy$'
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57039286

复制
相关文章

相似问题

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