---
name: "Regexp"
section: "3"
platform: "linux"
package: "ivtools-dev"
version: "1.1.3-4"
release: "Debian 3.1 (Sarge)"
platforms: ["linux"]
url: "https://new.carta.tech/Regexp"
---

# Regexp(3)

regular expression searching

## NAME

Regexp - regular expression searching

## SYNOPSIS

**#include \<InterViews/regexp.h\>**

## DESCRIPTION

A Regexp encapsulates a regular expression pattern and defines operations for searching and matching the pattern against a string. The syntax of the regular expression pattern is the same as that for [ed(1)](/ed/1.md).  Information can be obtained about the most recent match of the regular expression (and its sub-expressions).

## PUBLIC OPERATIONS

- **Regexp(const char\* pattern)**

  - **Regexp(const char\* pattern, int length)**

  Construct a new Regexp for *pattern*.

- **int Match(const char\* text, int length, int index)**

  Attempt a match against *text* (of length *length*) at position *index*.  The return value is the length of the matching string, or a negative number if the match failed.

- **int Search(const char\* text, int length, int index, int range)**

  Search for a match in the string *text* (of length *length*). Matches are attempted starting at positions between *index* and *index* plus *range*.  If *range* is positive the first match after *index* is reported.  If *range* is negative the first match before *index* is reported.  The return value is the index of the starting position of the match, or a negative number if there is no match in the specified range.

- **int BeginningOfMatch(int subexp)**

  - **int EndOfMatch(int subexp)**

  Return information about the most recent match.  If *subexp* is zero (the default), information is reported for the complete regular expression.  Other values of *subexp* refer to sub-expressions in the pattern.  For example, if *subexp* is 2, information is returned for the sub-expression specified by the second pair of \\( and \\) delimiters in the pattern.

## SEE ALSO

[ed(1)](/ed/1.md)
