Regex test

FREE with proof-of-work · or $0.001 in USDC · POST /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 processing · Tags: 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?.(false); // keep your own spending ceiling in code
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, lower, UPPER.

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. Returns the deduped text and how many were removed.

Keyword extraction

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

Top keywords and two-word phrases by frequency (stopwords removed). Cheap, deterministic signal for routing, tagging, an…

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.