## GORegexp GORegexp |

## Synopsis

                        GORegexp;
                        GORegmatch;
    typedef             GORegoff;
    #define             GO_REG_OK
    int                 go_regcomp                          (GORegexp *preg,
                                                             const char *pattern,
                                                             int cflags);
    size_t              go_regerror                         (int errcode,
                                                             const GORegexp *preg,
                                                             char *errbuf,
                                                             size_t errbuf_size);
    int                 go_regexec                          (const GORegexp *preg,
                                                             const char *string,
                                                             size_t nmatch,
                                                             GORegmatch pmatch[],
                                                             int eflags);
    void                go_regexp_quote                     (GString *target,
                                                             const char *s);
    const char *        go_regexp_quote1                    (GString *target,
                                                             const char *s);
    void                go_regfree                          (GORegexp *preg);

## Description

## Details

### GORegexp

    typedef struct {
    	size_t re_nsub;
    } GORegexp;

size_t `re_nsub`; | number of capturing subpatterns.

### GORegmatch

    typedef struct {
    	GORegoff rm_so, rm_eo;
    } GORegmatch;

GORegoff `rm_so`; | start offset.
GORegoff `rm_eo`; | end offset.

### GORegoff

    typedef int GORegoff;

### GO_REG_OK

    #define GO_REG_OK GO_REG_NOERROR

### go_regcomp ()

    int                 go_regcomp                          (GORegexp *preg,
                                                             const char *pattern,
                                                             int cflags);

### go_regerror ()

    size_t              go_regerror                         (int errcode,
                                                             const GORegexp *preg,
                                                             char *errbuf,
                                                             size_t errbuf_size);

### go_regexec ()

    int                 go_regexec                          (const GORegexp *preg,
                                                             const char *string,
                                                             size_t nmatch,
                                                             GORegmatch pmatch[],
                                                             int eflags);

### go_regexp_quote ()

    void                go_regexp_quote                     (GString *target,
                                                             const char *s);

### go_regexp_quote1 ()

    const char *        go_regexp_quote1                    (GString *target,
                                                             const char *s);

### go_regfree ()

    void                go_regfree                          (GORegexp *preg);