RegexSolverRegexSolver
  • Live Demo
  • Docs
  • Pricing
  • Open Source ↗
  • Console ↗
Console ↗
  • Docs
  • API Reference
HELP
  • Documentation
  • Report an issue ↗
RESOURCES
  • Developer console
  • GitHub ↗
LEGAL
  • Privacy policy
  • Terms & conditions
RegexSolverRegexSolver

© 2026 REGEXSOLVER · ALL RIGHTS RESERVED

Analyze
    CardinalitypostGraphviz DOTpostEmptypostEmpty String OnlypostTotalitypostDeterministicpostEquivalentpostLengthpostPatternpostSubsetpost
Compute
    ConcatenationpostDifferencepostIntersectionpostRepeatpostUnionpostComplementpostDeterminizepost
Generate
    Stringspost
Account
    Limitsget
Schemas
RegexSolver API
RegexSolver API

Generate

Produce concrete output from a term.


Strings

POST
https://api.regexsolver.com/v1
/generate/strings

Generate up to limit distinct strings matched by term, skipping the first offset strings, scheduling the paths of the language in pathOrder, producing the strings within each path in characterOrder, confined to lengths between minLength and maxLength and to the characters of charset. Strings are only guaranteed to be distinct within a single call; pagination across calls is only consistent (no repeats or gaps) if term is deterministic. Call /analyze/deterministic to check, and /compute/determinize first if needed.

Strings › Request Body

Request to generate up to `limit` distinct strings matched by `term`, skipping the first `offset` strings and confined to lengths between `minLength` and `maxLength`. For consistent pagination, `term` should be deterministic.
GenerateStringsRequest
​required

Source term to generate strings from.

limit
​integer · min: 1 · max: 100 · required

Maximum number of unique strings to return.

offset
​integer · min: 0

Number of matched strings to skip before starting to collect the results. Used for pagination.

Default: 0
minLength
​integer · min: 0

Shortest string to generate. Strings shorter than this are left out of the enumeration entirely, offset never counting them.

Default: 0
maxLength
​integer · min: 1 · max: 100

Longest string to generate. Strings longer than this are left out of the enumeration entirely, offset never counting them. A value below minLength leaves nothing to generate.

Default: 100
pathOrder
​string · enum

Order in which the paths of the language are scheduled. Defaults to sweep.

Enum values:
sweep
interleave
shuffled
Default: sweep
characterOrder
​string · enum

Order in which the strings within each path are produced. Defaults to ascending.

Enum values:
ascending
shuffled
Default: ascending
seed
​integer · int64 · min: 0

Seed behind the shuffled modes of pathOrder and characterOrder; ignored when neither is used. The default seed is fixed rather than random, so two calls sharing a seed generate the same strings and offset pages through them consistently. Change it to draw a different sequence from the same term.

Default: 0
charset
​string | null

Character class the generated strings are restricted to, such as [a-z] or \P{C}. Paths needing a character outside of it are dropped entirely. If omitted, every character the term allows is used.

Example: [a-z]
​RequestOptions

Change how the engine handles the operation.

Strings › Responses

Generated strings.

success
​boolean · required
​GenerateStringsResponse · required

Response containing distinct strings generated from the requested term.

POST/generate/strings
Term term = Term.regex("(abc|de){2}"); GenerateStringsOptions options = GenerateStringsOptions.builder() .pathOrder(PathOrder.INTERLEAVE) .characterOrder(CharacterOrder.SHUFFLED) .seed(42L); client.generateStrings(term, 10, 0, options);
Example Request Body
{ "term": { "type": "regex", "value": "(abc|de){2}" }, "limit": 10, "offset": 0, "pathOrder": "interleave", "characterOrder": "shuffled", "seed": 42 }
json
application/json
Example Responses
{ "success": true, "data": { "type": "generatedStrings", "strings": { "type": "strings", "value": [ "abcabc", "abcde", "deabc", "dede" ] } } }
json
application/json

ComputeAccount