sesam_num_fields(только PHP 3 CVS) sesam_num_fields - возвращает количество полей/столбцов результирующего набора. Описаниеint sesam_num_fields (string result_id) После вызова sesam_query() с запросом "select-типа" эта функция выдаёт вам количество столбцов в результате. Возвращает integer - общее количество столбцов (т.е. полей) в текущем результирующем наборе result_id - или FALSE при ошибке. Для "immediate"-операторов возвращается значение 0. SESAM "multiple field" столбцы обсчитываются как их соответствующие размеры, т.е. "multiple field" из 3 столбцов высчитывается как три столбца. См. также в sesam_query() и sesam_field_array() способ различения "multiple field"-столбцов и обычных столбцов. |
||||||||||
|
||||||||||
Таким образом,
[aeiou]{3,}
совпадает с как минимум тремя 3 последовательными гласными, но может и с большим
количеством, а
\d{8}
совпадает точно с 8 цифрами. Открывающая фигурная скобка, которая появляется
в позиции, где квантификатор недопустим, или скобка, не соответствующая синтаксису
квантификатора, считается литеральным символом. Например, {,6} это не квантификатор,
а литеральная строка из 4 символов.
Квантификатор {0} допустим, заставляя выражение вести себя так, будто предыдущий элемент и квантификатор не существуют.
Для удобства (и обратной совместимости) три наиболее распространённых квантификатора
имеют односимвольные сокращения:
* эквивалентен {0,}
+ эквивалентен {1,}
? эквивалентен {0,1}
Можно конструировать бесконечные циклы, введя после субпатэрна, который не совпадает
ни с одним символом, квантификатор, не имеющий верхнего предела, например:
(a?)*
Ранние версии Perl и PCRE являются источниками ошибок в процессе компиляции
таких патэрнов. Однако, поскольку бывают случаи, когда это необходимо, такие
патэрны принимаются, но если любое повторение такого субпатэрна фактически не
совпадает ни с какими символами, цикл форсированно прерывается.
| |