Подробности

[В начало]

Проблема в стандарте № S0556

Краткое описание

Неполное описание кодов ошибок REG_EBRACE и REG_BADBR в случае расширенных регулярных выражений.

Подробное описание

Описание функции regcomp() определяет дисбаланс “\{“ ”\}” как ошибку для базовых регулярных выражений (basic regular expressions), но ничего не говорит о том, является ли дисбаланс “{“ ”}” ошибкой для расширенных регулярных выражений (extended regular expressions).
Также описание функции regcomp() определяет, что если содержимое “\{“ ”\}” ошибочно, то функция должна возвращать код ошибки REG_BADBR для базовых регулярных выражений, но ничего не говорится о том, может ли функция возвращать код ошибки REG_BADBR для расширенных регулярных выражений, в ситуациях когда содержимое “{“ ”}” ошибочно.

Раздел стандарта

The Open Group Base Specifications Issue 6 IEEE Std 1003.1, 2004 Edition (SUS 3.0), Chapter 9. Regular Expressions, the description of the regcomp() function.

Способы устранения

Определить, является ли дисбаланс “{“ ”}” ошибкой для расширенных регулярных выражений.
Определить, является ли неверное содержимое “{“ ”}” ошибкой для расширенных регулярных выражений, и определить, какой код ошибки должен при этом возвращаться.

[В начало]