powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / posix regexp
4 сообщений из 4, страница 1 из 1
posix regexp
    #35158149
tadmin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ubuntu
postgresql 8.3
regex_flavor = advanced

У меня не работают некоторые posix regexp выражения

Например
Код: plaintext
 select 'abcd' similar to '[a-z]*';
возвращает true

однако
Код: plaintext
select 'abcd' similar to '[a-z]{1,4}';
возвращает false

Как будто бы ошибки нет, но конструкции '...{1,4}' , '\w' просто игнорируется.
В чем дело?
...
Рейтинг: 0 / 0
posix regexp
    #35158529
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FUNCTIONS-SIMILARTO-REGEXP

авторIn addition to these facilities borrowed from LIKE, SIMILAR TO supports these pattern-matching metacharacters borrowed from POSIX regular expressions:
| denotes alternation (either of two alternatives).
* denotes repetition of the previous item zero or more times.
+ denotes repetition of the previous item one or more times.
Parentheses () can be used to group items into a single logical item.
A bracket expression [...] specifies a character class, just as in POSIX regular expressions.
Notice that bounded repetition (? and {...} ) are not provided , though they exist in POSIX. Also, the dot (.) is not a metacharacter.


--
„Истина — это вовсе не то, что можно убедительно доказать, это то, что
делает всё проще и понятнее“ — Антуан де Сент-Экзюпери
...
Рейтинг: 0 / 0
posix regexp
    #35158552
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
футы, забыл по русски написать %) вообщем 'SIMILAR TO' это не posix regexp, это расширение 'like' и 'SIMILAR TO' не поддерживает повторения ? и {...}, он поддерживает только * и +

для posix регулярных выражений нужно использовать другие операторы:
Код: plaintext
1.
2.
3.
4.
seb=> select 'abcd' ~ '[a-z]{1,4}';
 ?column?
----------
 t

--
„Истина — это вовсе не то, что можно убедительно доказать, это то, что
делает всё проще и понятнее“ — Антуан де Сент-Экзюпери
...
Рейтинг: 0 / 0
posix regexp
    #35159113
tadmin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо! Был невнимателен.
Я обманулся тем, что _некоторые_ выражения работали.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / posix regexp
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]