Combine, Analyze and Generate Patterns at Scale with our Powerful API
Term term1 = Term.regex("(abc|de|fg){2,}");
Term term2 = Term.regex("de.*");
Term term3 = Term.regex(".*abc");
Term term4 = Term.regex(".+(abc|de).+");
Term result = term1.intersection(term2, term3)
.subtraction(term4);
System.out.println(result);
regex=de(fg)*abc
const term1 = Term.regex("(abc|de|fg){2,}");
const term2 = Term.regex("de.*");
const term3 = Term.regex(".*abc");
const term4 = Term.regex(".+(abc|de).+");
term1.intersection(term2, term3)
.then(result => result.subtraction(term4))
.then(result => console.log(result.toString()));
regex=de(fg)*abc
term1 = Term.regex(r"(abc|de|fg){2,}")
term2 = Term.regex(r"de.*")
term3 = Term.regex(r".*abc")
term4 = Term.regex(r".+(abc|de).+")
result = term1.intersection(term2, term3)\
.subtraction(term4)
print(result)
regex=de(fg)*abc
Features
Manipulate Regular Expressions as if they were sets
Intersection

Compute a common pattern between multiple regular expressions.
Union

Combine multiple regular expressions into a single compact pattern.
Difference

Compute the resulting pattern of the subtraction of multiple regular expressions.
Equivalence

Determine if two regular expressions match the same set of strings.
Subset

Check if one regular expression is a subset of another.
Performance
Unmatched performance optimized up to clock cycle level
Optimized to Clock Cycle Level

Our services are optimized to clock cycle level, allowing us to manipulate patterns beyond the capabilities of any other engine.
Fast Response Time

No matter the request, a response is returned within a second maximum.
Compact Regex

Our algorithm generate simple and compact regular expression pattern.