Regex test

FREE with proof-of-workor $0.001 in USDCPOST /api/regex

Run a regular expression against text. Send POST /api/regex with the required fields pattern and text and pay $0.001 per call over x402 or MPP, or call it free by solving a proof-of-work challenge. It returns a JSON object with matchCount and matches.

Returns up to 100 matches with index and capture groups. Pattern ≤ 200 chars, text ≤ 10KB.

Category: Text processingTags: regex match text pattern

Try in playground →

Parameters

NameTypeRequiredDescription
patternstringyesRegex pattern (JS syntax, max 200 chars)
flagsstringnoRegex flags, e.g. gi (default g)
textstringyesText to search (max 10KB) Also accepted as content, str, string, input, body, data.

Example request

curl -i -X POST https://agent402.tools/api/regex \
  -H "Content-Type: application/json" \
  -d '{"pattern":"\\b(\\w+)@(\\w+\\.\\w+)\\b","flags":"g","text":"mail me at a@b.com"}'

Without payment this returns HTTP 402 Payment Required with the exact price for regex; any x402 v2 or MPP client pays it and retries.

Example response

{
  "matchCount": 1,
  "matches": [
    {
      "match": "a@b.com",
      "index": 11,
      "groups": [
        "a",
        "b.com"
      ]
    }
  ]
}
FieldTypeAlways presentIn the example
matchCountnumberyes1
matchesarray of objectsyes1 item in the example

From an MCP client

catalog.call {
  "slug": "regex",
  "params": {
    "pattern": "\\b(\\w+)@(\\w+\\.\\w+)\\b",
    "flags": "g",
    "text": "mail me at a@b.com"
  }
}

On the hosted connector at https://agent402.tools/mcp, catalog.call runs regex free (rate-limited, no wallet). Local install: npx -y agent402-mcp.

Errors and behavior

Paid call (JavaScript agent)

import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { registerExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

const client = new x402Client();
client.setSpendControls?.({ maxAmountPerPayment: "$0.001" }); // refuse any quote above this tool's price
registerExactEvmScheme(client, { signer: privateKeyToAccount(KEY) });
const payFetch = wrapFetchWithPayment(fetch, client);

const res = await payFetch("https://agent402.tools/api/regex", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    "pattern": "\\b(\\w+)@(\\w+\\.\\w+)\\b",
    "flags": "g",
    "text": "mail me at a@b.com"
  }),
});

No wallet? Pay with compute

Fetch a challenge, solve the sha256 puzzle (16 leading zero bits, a fraction of a second of CPU), and resend with the X-Pow-Solution header:

import { createHash } from "node:crypto";
const lz = (b) => { let t = 0; for (const x of b) { if (!x) { t += 8; continue; } t += Math.clz32(x) - 24; break; } return t; };
const c = await (await fetch("https://agent402.tools/api/pow/challenge?slug=regex")).json();
let n = 0;
while (lz(createHash("sha256").update(c.challenge + ":" + n).digest()) < c.difficulty) n++;
await fetch("https://agent402.tools/api/regex", { method: "POST", headers: { "X-Pow-Solution": c.token + ":" + n, "Content-Type": "application/json" }, body: JSON.stringify({"pattern":"\\b(\\w+)@(\\w+\\.\\w+)\\b","flags":"g","text":"mail me at a@b.com"}) });

Related tools

Case convert

FREE w/ compute · or $0.001 · POST /api/case

Convert text between camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, Title Case, lowercase and UPPERCASE.

Count

FREE w/ compute · or $0.001 · POST /api/count

Count characters, words, lines, and (optionally) occurrences of a substring in text.

Dedupe lines

FREE w/ compute · or $0.001 · POST /api/dedupe-lines

Remove duplicate lines, preserving first-seen order.

Keyword extraction

FREE w/ compute · or $0.002 · POST /api/keywords

Top keywords and two-word phrases by frequency (stopwords removed).

Lorem ipsum

FREE w/ compute · or $0.001 · GET /api/lorem

Placeholder text. ?paragraphs=1..20 or ?words=1..2000.

Readability

FREE w/ compute · or $0.001 · POST /api/readability

Flesch Reading Ease score and Flesch–Kincaid grade level for English text, plus word/sentence/syllable counts.