How to Test a Regular Expression
Start with sample text, flags, match count, and capture groups to check whether a regex behaves as expected.
Start with sample text, flags, match count, and capture groups to check whether a regex behaves as expected.
For (?<code>\d{3}), use error 404 as a positive sample, error xx as a counterexample, and 4040 to decide whether anchors or word boundaries are required.
Confirm that error 404 reports [6, 9), match 404, and named group code=404; then verify i, m, s, u, or y only when the requirement needs each flag.
If replacement is part of the task, specify expected $1 or $<name> output. This UI treats an empty replacement field as no preview, not as delete-to-empty.
This tester uses the current browser JavaScript engine, exposes gimsuy, adds global behavior internally for preview rows, and limits input/matches. It does not expose d or v, emulate PCRE/Python/Java/.NET, or prove that an accepted expression is free from catastrophic backtracking.
Write expected matches before editing the pattern. Add delimiters, blank fields, combining characters, astral Unicode, and long non-matching suffixes. Copy the final source and flags into project tests, then run target-runtime performance limits before release.
FAQ
The spaces are literal input and are now preserved. Use \s only when whitespace is part of the requirement, and do not trim the pattern unless your application contract says to.
The preview adds global matching internally so it can list rows. Treat that as a display behavior and test the original flags in the calling code if single-match control flow matters.
Keep at least one intended match, one near miss, one empty or missing value, Unicode relevant to the field, maximum expected length, and a long adversarial non-match.
Further reading
Keep exploring