> ## Documentation Index
> Fetch the complete documentation index at: https://docs.eigenpal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Regex Extract

> Pull named fields from text via regex patterns (deterministic counterpart to ai.extract). Accepts raw text or a parsed-document object; matches carry `_evidence.pageIndex` when pages are provided.

`transform.regex-extract`, Pull named fields from text via regex patterns (deterministic counterpart to ai.extract). Accepts raw text or a parsed-document object; matches carry `_evidence.pageIndex` when pages are provided.

## Configuration

Configuration goes inside the step's `with:` block.

<ParamField path="input" type="string | record<string, unknown>" required>
  Either raw text or a parsed-document object `&#123; pages: [&#123; pageIndex, text }] }`. Pages enable per-match `_evidence.pageIndex`.
</ParamField>

<ParamField path="fields" type="record<string, object>" required>
  Named field → pattern mapping.
</ParamField>

<ParamField path="flags" type="string">
  Default regex flags applied when a field omits its own `flags`. Subset of "gimsuy".
</ParamField>

<ParamField path="searchWindow" type="integer">
  Only search the first N characters of input (perf). Omit for full search.
</ParamField>

## Output

Returns `record<string, unknown>`. Field name → extracted value (or default), plus `_evidence: &#123; [field]: &#123; pageIndex, matchOffset, raw } }` and `_unmatched: string[]`.
