{
  "slug": "regex-extract",
  "name": "gizza-ai/regex-extract",
  "version": "0.1.0",
  "title": "Regex Extract — Pull Every Match from Text — gizza.ai",
  "description": "Run a regular expression over text and extract every match — case-insensitive, multiline, dot-all, capture groups, dedupe. Free, in your browser.",
  "tags": [
    "regex extract",
    "regex tester",
    "regex match",
    "extract matches",
    "regular expression",
    "capture group",
    "find all matches"
  ],
  "category": "developer",
  "urls": {
    "page": "https://gizza.ai/tools/regex-extract/",
    "markdown": "https://gizza.ai/tools/regex-extract/index.md",
    "descriptor": "https://gizza.ai/tools/regex-extract/tool.json",
    "deep_link_example": "https://gizza.ai/tools/regex-extract/?text=Paste%20the%20text%20to%20search%E2%80%A6&pattern=e.g.%20%5Cb%5Cw%2B%40%5Cw%2B%5C.%5Cw%2B%5Cb&ignore_case=true&multiline=true&dotall=true&capture_group=0&unique=true"
  },
  "cli": "gizza tool regex-extract \"Paste the text to search…\" 'pattern=e.g. \\b\\w+@\\w+\\.\\w+\\b'",
  "tool": {
    "description": "Search text with a regular expression (Rust regex syntax) and return every match. Toggle ignore_case for case-insensitive matching, multiline so ^/$ anchor per line, and dotall so . spans newlines. Set capture_group to extract a specific captured sub-group instead of the whole match (0 = whole match), and unique to deduplicate the results in first-seen order. Returns the match count and the list of matches. Runs locally.",
    "parameters": {
      "additionalProperties": false,
      "properties": {
        "capture_group": {
          "default": 0,
          "description": "Which capture group to return per match (0 = the whole match).",
          "minimum": 0,
          "type": "integer"
        },
        "dotall": {
          "default": false,
          "description": "Let . also match newline characters.",
          "type": "boolean"
        },
        "ignore_case": {
          "default": false,
          "description": "Match case-insensitively.",
          "type": "boolean"
        },
        "multiline": {
          "default": false,
          "description": "Let ^ and $ match at line boundaries, not only the start/end of the text.",
          "type": "boolean"
        },
        "pattern": {
          "description": "The regular expression (Rust regex syntax) to match against the text.",
          "type": "string"
        },
        "text": {
          "description": "The text to search for matches.",
          "type": "string"
        },
        "unique": {
          "default": false,
          "description": "Deduplicate the returned matches, keeping first-seen order.",
          "type": "boolean"
        }
      },
      "required": [
        "text",
        "pattern"
      ],
      "type": "object"
    }
  }
}