0
002267b4-ad06-11e4-89ca-59f94b49bbc0
以上从另一字符串的字符串。我曾尝试是,
select regexp_matches('class 1 type 1 cat 1 002267b4-ad06-11e4-89ca-59f94b49bbc0' , '\b\w{1,8}\-\w{1,4}\-\w{1,4}\-\w{1,4}\-\w{1,12}\b')
这不会给任何结果,但是当我从一个在线工具检查正则表达式,它选择正确的字符串我想要的。必须是postgresql查询中的问题。
请帮忙。
把里面的格局'()'' – hjpotter92
\ B'是[快捷方式 “退格”(http://www.postgresql.org/docs/current /static/functions-matching.html#POSIX-CHARACTER-ENTRY-ESCAPES-TABLE) - 我不认为这是你想要的。我也不认为你需要逃避范围运算符外的'-'('[..]')。我认为'\ w {1,4} - \ w {1,4} - \ w {1,4} - \ w {1,4} - \ w {1,12}''应该这样做 –
试试'[[:<:]]'和'[[:>:]]'而不是第一个和最后一个'\ b'。请参阅http://www.postgresql.org/docs/8.3/interactive/functions-matching.html#POSIX-BRACKET-EXPRESSIONS。 –