【发布时间】:2015-01-14 09:42:28
【问题描述】:
如果模式出现在行尾,我想禁用匹配模式。 例如我的字符串是“Hello, world”,我也想匹配这个字符串和“Hello, world!”细绳。 到目前为止我试过了
SELECT 'Hello, world' SIMILAR TO '%([\-\,\.\s\?\!]?)world([\-\,\.\s\?\!]+)%',
'Hello, world!' SIMILAR TO '%([\-\,\.\s\?\!]?)world([\-\,\.\s\?\!]+)%'
但第一个匹配返回 false。
更新
要匹配的单词:
你好,世界!
再见,世界。
嗨世界
这个世界真奇妙。
不匹配的词:
你好世界
你好,世界。
这个问题被认为是全球性的。
【问题讨论】:
-
您说如果模式出现在末尾则要禁用匹配,但是在“Hello, world”中,“world”出现在末尾,并且您仍然希望正则表达式匹配。这不矛盾吗?
-
@user3409662 但如果不是“世界”这个词,而是“世界等”,它也会被匹配,但我想阻止它。
-
你能编辑你的问题,并添加几个你想匹配的字符串示例,以及几个你不想匹配的字符串示例吗?
-
添加了我想匹配和跳过的单词。
标签: regex postgresql