A regular expression can match exactly what you expected in one example and behave badly in another. Testing a short pattern against representative text is more useful than trusting that it looks correct.
Regular Expression Tester runs bounded PHP PCRE searches in UTF8 mode. Enter the pattern body without surrounding delimiters, then choose the supported flags.
Match something you can inspect
The pattern [0-9]+ applied to Order 1200 and 1500 finds the two digit sequences. The results include captures and byte offsets, allowing you to see where the matches begin in the input.
Byte offsets are not always the same as visible character positions. Urdu letters or emoji can occupy several UTF8 bytes, so counting symbols on screen may give a different position.
A match is evidence about the supplied sample, not proof that the pattern correctly validates every possible order reference or phone number. Add examples that should fail as well as examples that should match.
Keep expensive patterns under control
The tool limits reported matches and uses reduced backtracking and recursion budgets. A costly pattern can produce a processing error rather than an unlimited search. That behaviour protects the small interactive task from a runaway expression.
Zero length matches are handled with forward progress through the UTF8 input. They can still make a pattern's intent harder to review, so inspect the pattern rather than relying on the count alone.
This is a search tester. It does not execute replacement code, run PHP expressions or promise compatibility with a JavaScript regex engine.
Before adopting a pattern in an application, test the exact engine and input rules used there. Character classes, flags and offset units can differ between environments even when the expression text looks the same.
Reference: PHP PCRE match documentation.
