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

Compute

Derive new terms from one or more input terms.


Concatenation

POST
https://api.regexsolver.com/v1
/compute/concat

Concatenate the given terms in order.

Concatenation › Request Body

Request carrying 2 or more terms for n-ary operations.
MultiTermsRequest
​Term[] · minItems: 2 · required

Terms to process. Order matters for some operations.

​RequestOptions

Change how the engine handles the operation.

Concatenation › Responses

Concatenated term.

success
​boolean · required
​Term · required

Serialized term.

POST/compute/concat
Term term1 = Term.regex("ab"); Term term2 = Term.regex("c.*"); Term term3 = Term.regex(".*de"); client.concat(term1, term2, term3);
Example Request Body
{ "terms": [ { "type": "regex", "value": "ab" }, { "type": "regex", "value": "c.*" }, { "type": "regex", "value": ".*de" } ], "options": { "schemaVersion": 1, "response": { "format": "regex" } } }
json
application/json
Example Responses
{ "success": true, "data": { "type": "regex", "value": "abc.*de" } }
json
application/json

Difference

POST
https://api.regexsolver.com/v1
/compute/difference

Compute the difference between the two given terms.

Difference › Request Body

Request carrying exactly 2 terms.
TwoTermsRequest
​Term[] · minItems: 2 · maxItems: 2 · required

Exactly 2 terms.

​RequestOptions

Change how the engine handles the operation.

Difference › Responses

Difference term.

success
​boolean · required
​Term · required

Serialized term.

POST/compute/difference
Term term1 = Term.regex("(ab|cd)"); Term term2 = Term.regex("cd"); client.difference(term1, term2);
Example Request Body
{ "terms": [ { "type": "regex", "value": "(ab|cd)" }, { "type": "regex", "value": "cd" } ], "options": { "schemaVersion": 1, "response": { "format": "regex" } } }
json
application/json
Example Responses
{ "success": true, "data": { "type": "regex", "value": "ab" } }
json
application/json

Intersection

POST
https://api.regexsolver.com/v1
/compute/intersection

Compute the intersection of the given terms.

Intersection › Request Body

Request carrying 2 or more terms for n-ary operations.
MultiTermsRequest
​Term[] · minItems: 2 · required

Terms to process. Order matters for some operations.

​RequestOptions

Change how the engine handles the operation.

Intersection › Responses

Intersection term.

success
​boolean · required
​Term · required

Serialized term.

POST/compute/intersection
Term term1 = Term.regex("(ab|cd|ef)"); Term term2 = Term.regex("(ab|cd)"); Term term3 = Term.regex("(cd|ef)"); client.intersection(term1, term2, term3);
Example Request Body
{ "terms": [ { "type": "regex", "value": "(ab|cd|ef)" }, { "type": "regex", "value": "(ab|cd)" }, { "type": "regex", "value": "(cd|ef)" } ], "options": { "schemaVersion": 1, "response": { "format": "regex" } } }
json
application/json
Example Responses
{ "success": true, "data": { "type": "regex", "value": "cd" } }
json
application/json

Repeat

POST
https://api.regexsolver.com/v1
/compute/repeat

Repeat a term between min and max times.

Repeat › Request Body

Request to repeat a term between `min` and `max` times.
RepeatRequest
​required

Term to repeat.

min
​integer · min: 0 · required

Inclusive lower bound of repetitions.

max
​integer | null · min: 0

Inclusive upper bound. If omitted or null, the repetition is unbounded.

​RequestOptions

Change how the engine handles the operation.

Repeat › Responses

Repeated term.

success
​boolean · required
​Term · required

Serialized term.

POST/compute/repeat
Term term = Term.regex("abc"); client.repeat(term, 3, null);
Example Request Body
{ "term": { "type": "regex", "value": "abc" }, "min": 3, "options": { "schemaVersion": 1, "response": { "format": "regex" } } }
json
application/json
Example Responses
{ "success": true, "data": { "type": "regex", "value": "(abc){3,}" } }
json
application/json

Union

POST
https://api.regexsolver.com/v1
/compute/union

Compute the union of the given terms.

Union › Request Body

Request carrying 2 or more terms for n-ary operations.
MultiTermsRequest
​Term[] · minItems: 2 · required

Terms to process. Order matters for some operations.

​RequestOptions

Change how the engine handles the operation.

Union › Responses

Union term.

success
​boolean · required
​Term · required

Serialized term.

POST/compute/union
Term term1 = Term.regex("ab"); Term term2 = Term.regex("cd"); Term term3 = Term.regex("ef"); client.union(term1, term2, term3);
Example Request Body
{ "terms": [ { "type": "regex", "value": "ab" }, { "type": "regex", "value": "cd" }, { "type": "regex", "value": "ef" } ], "options": { "schemaVersion": 1, "response": { "format": "regex" } } }
json
application/json
Example Responses
{ "success": true, "data": { "type": "regex", "value": "(ab|cd|ef)" } }
json
application/json

Complement

POST
https://api.regexsolver.com/v1
/compute/complement

Compute the complement of the given term.

Complement › Request Body

Request carrying a single term.
TermRequest
​Term · required

Serialized term.

​RequestOptions

Change how the engine handles the operation.

Complement › Responses

Complemented term.

success
​boolean · required
​Term · required

Serialized term.

POST/compute/complement
Term term = Term.regex(".*a.*"); client.complement(term);
Example Request Body
{ "term": { "type": "regex", "value": ".*a.*" }, "options": { "schemaVersion": 1, "response": { "format": "regex" } } }
json
application/json
Example Responses
{ "success": true, "data": { "type": "regex", "value": "[^a]*" } }
json
application/json

Determinize

POST
https://api.regexsolver.com/v1
/compute/determinize

Compute a deterministic FAIR.

Determinize › Request Body

Request carrying a single term.
TermRequest
​Term · required

Serialized term.

​RequestOptions

Change how the engine handles the operation.

Determinize › Responses

Deterministic FAIR.

success
​boolean · required
​Term · required

Serialized term.

POST/compute/determinize
Term term = Term.regex(".*abc"); client.determinize(term);
Example Request Body
{ "term": { "type": "regex", "value": ".*abc" } }
json
application/json
Example Responses
{ "success": true, "data": { "type": "fair", "value": "<uw$8AJYkaU].HFn1kT[tx*-VAZ8usSKXcEKZ[wx:F8vYuR-b?tFFk1eM2RXs9yuu5dakz7r/{!AW9/(hK0]knHS&Q]!@K=ahmGr1Dbjb5(XE1UT%Ab@8rXvYop}$", "metadata": { "deterministic": true } } }
json
application/json

AnalyzeGenerate