{
  "slug": "regex-tester",
  "name": "gizza-ai/regex-tester",
  "version": "0.1.0",
  "title": "Regex Tester — Debug Patterns & Inspect Capture Groups — gizza.ai",
  "description": "Test regular expressions online — see every match with positions plus the value and span of each numbered and named capture group. Free, in-browser, no upload.",
  "tags": [
    "regex tester",
    "test regex",
    "regular expression",
    "capture group",
    "regex debugger",
    "named groups",
    "regex match positions"
  ],
  "category": "developer",
  "urls": {
    "page": "https://gizza.ai/tools/regex-tester/",
    "markdown": "https://gizza.ai/tools/regex-tester/index.md",
    "descriptor": "https://gizza.ai/tools/regex-tester/tool.json",
    "deep_link_example": "https://gizza.ai/tools/regex-tester/?text=Paste%20the%20text%20to%20test%20against%E2%80%A6&pattern=e.g.%20%28%3F%3Cyear%3E%5Cd%7B4%7D%29-%28%5Cd%7B2%7D%29-%28%5Cd%7B2%7D%29&ignore_case=true&multiline=true&dotall=true"
  },
  "cli": "gizza tool regex-tester \"Paste the text to test against…\" 'pattern=e.g. (?<year>\\d{4})-(\\d{2})-(\\d{2})'",
  "tool": {
    "description": "Test a regular expression (Rust regex syntax) against input text and get a full structured breakdown for debugging: every match with its character start/end positions, and within each match the value and span of every capture group — both numbered and named (?<name>…). Toggle ignore_case for case-insensitive matching, multiline so ^/$ anchor per line, and dotall so . spans newlines. Returns the match count, the pattern's capture-group count and names, and the list of matches. Reports an error for an invalid pattern. Runs locally.",
    "parameters": {
      "additionalProperties": false,
      "properties": {
        "dotall": {
          "default": false,
          "description": "Let . also match newline characters (the s flag).",
          "type": "boolean"
        },
        "ignore_case": {
          "default": false,
          "description": "Match case-insensitively (the i flag).",
          "type": "boolean"
        },
        "multiline": {
          "default": false,
          "description": "Let ^ and $ match at line boundaries, not only the start/end of the text (the m flag).",
          "type": "boolean"
        },
        "pattern": {
          "description": "The regular expression (Rust regex syntax) to test.",
          "type": "string"
        },
        "text": {
          "description": "The input text to test the regular expression against.",
          "type": "string"
        }
      },
      "required": [
        "text",
        "pattern"
      ],
      "type": "object"
    }
  }
}