2015-01-16 2 views
0

Может кто-нибудь объяснить мне, почему это регулярное выражение выбора возвращает ложь в PostgreSQL:Что не так с этим регулярным выражением на PostgreSQL?

select '354902050487064_Gismo3' ~* '\d{15}_\w+' 

Пробовал на нескольких интернет-тестеров регулярных выражений, и в матчах отлично.

Благодаря

+0

Возвраты 'true' для меня в 9,4 –

+0

Он возвращает истину в моих 9.4.0 (Windows) и 9.3.4 установка (Linux) –

+0

Хорошо, понял. В SQL символ \ char должен быть скомпенсирован, поэтому это выражение работает: 'select '354902050487064_Gismo3' ~ * '\\ d {15} _ \\ w +'' Я на 6.0.7 64-битный. Спасибо за комментарии. – Ambran

ответ

1

Вы должны избежать обратной косой черты:

select '354902050487064_Gismo3' ~* '\\d{15}_\\w+' 
+0

Да, только что нашел это и добавил в комментарии, но спасибо в любом случае. – Ambran

+0

@Ambran; Пожалуйста. – Toto

Смежные вопросы