Öntanımlı Sözdizimleri
Önceki Düzenli İfade Sözdizimi Sonraki
Öntanımlı Sözdizimleri
Şayet Regex ile yazılım geliştiriyorsanız, bir şablon tamponun (bkz. GNU Şablon Tamponları ve POSIX Şablon Tamponları) syntax alanını, sözdizimi bitlerini kendiniz belirleyerek ya da Regex tarafından tanımlandığı biçimde belirtebilirsiniz. Bu yapılandırmalar, belirli yazılımlar -GNU Emacs, POSIX Awk, geleneksel Awk, Grep, Egrep- tarafından kullanılan sözdizimlerini, temel ve genişletilmiş POSIX düzenli ifadelerinin sözdizimlerine ek olarak tanımlar.
Doğrudan regex.h başlık dosyasından alınmış önceden tanımlı sözdizimleri:
#define RE_SYNTAX_EMACS 0

#define RE_SYNTAX_AWK                                                   \
  (RE_BACKSLASH_ESCAPE_IN_LISTS | RE_DOT_NOT_NULL                       \
   | RE_NO_BK_PARENS            | RE_NO_BK_REFS                         \
   | RE_NO_BK_VBAR               | RE_NO_EMPTY_RANGES                   \
   | RE_UNMATCHED_RIGHT_PAREN_ORD)

#define RE_SYNTAX_POSIX_AWK                                             \
  (RE_SYNTAX_POSIX_EXTENDED | RE_BACKSLASH_ESCAPE_IN_LISTS)

#define RE_SYNTAX_GREP                                                  \
  (RE_BK_PLUS_QM              | RE_CHAR_CLASSES                         \
   | RE_HAT_LISTS_NOT_NEWLINE | RE_INTERVALS                            \
   | RE_NEWLINE_ALT)

#define RE_SYNTAX_EGREP                                                 \
  (RE_CHAR_CLASSES        | RE_CONTEXT_INDEP_ANCHORS                    \
   | RE_CONTEXT_INDEP_OPS | RE_HAT_LISTS_NOT_NEWLINE                    \
   | RE_NEWLINE_ALT       | RE_NO_BK_PARENS                             \
   | RE_NO_BK_VBAR)

#define RE_SYNTAX_POSIX_EGREP                                           \
  (RE_SYNTAX_EGREP | RE_INTERVALS | RE_NO_BK_BRACES)

/* P1003.2/D11.2, section 4.20.7.1, lines 5078ff.  */
#define RE_SYNTAX_ED RE_SYNTAX_POSIX_BASIC

#define RE_SYNTAX_SED RE_SYNTAX_POSIX_BASIC

/* Temel ve genişletilmiş POSIX düzenli ifade sözdizimlerinin
   her ikisi için de geçerli sözdizimi bitleri.  */
#define _RE_SYNTAX_POSIX_COMMON                                         \
  (RE_CHAR_CLASSES | RE_DOT_NEWLINE      | RE_DOT_NOT_NULL              \
   | RE_INTERVALS  | RE_NO_EMPTY_RANGES)

#define RE_SYNTAX_POSIX_BASIC                                           \
  (_RE_SYNTAX_POSIX_COMMON | RE_BK_PLUS_QM)

/* Farklar:  Sadece ..._POSIX_BASIC'deki RE_BK_PLUS_QM'in yerini
   RE_LIMITED_OPS alır, yani, \? \+ \| artık tanınmaz. Aslında, \` gibi
   diğer işleçler iptal edilmediğinden bu pek de ufak tefek değildir. */
#define RE_SYNTAX_POSIX_MINIMAL_BASIC                                   \
  (_RE_SYNTAX_POSIX_COMMON | RE_LIMITED_OPS)

#define RE_SYNTAX_POSIX_EXTENDED                                        \
  (_RE_SYNTAX_POSIX_COMMON | RE_CONTEXT_INDEP_ANCHORS                   \
   | RE_CONTEXT_INDEP_OPS  | RE_NO_BK_BRACES                            \
   | RE_NO_BK_PARENS       | RE_NO_BK_VBAR                              \
   | RE_UNMATCHED_RIGHT_PAREN_ORD)

/* Farklar: ..._POSIX_EXTENDED'deki RE_CONTEXT_INVALID_OPS'nin yerini
   RE_CONTEXT_INDEP_OPS alır ve RE_NO_BK_REFS eklenir.  */
#define RE_SYNTAX_POSIX_MINIMAL_EXTENDED                                \
  (_RE_SYNTAX_POSIX_COMMON  | RE_CONTEXT_INDEP_ANCHORS                  \
   | RE_CONTEXT_INVALID_OPS | RE_NO_BK_BRACES                           \
   | RE_NO_BK_PARENS        | RE_NO_BK_REFS                             \
   | RE_NO_BK_VBAR          | RE_UNMATCHED_RIGHT_PAREN_ORD)
Önceki Üst Ana Başlık Sonraki
Sözdizimi Bitleri Başlangıç Elemanların ve Karakterlerin Alfabetik Sıralaması
Bir Linux Kitaplığı Sayfası