How to Type Check Regex with TypeScript
TypeScript 5.5 Beta is available and brings a fantastic feature to help developers catch common errors in regular expressions: regex syntax checking.
This means that TypeScript can now detect mistakes in regular expressions at compile time, saving you from runtime errors and debugging headaches.
Here's a quick guide on how to use this new feature:
How to
No keywords are needed; it just works!
As an example, if you have a mismatched parenthesis, TypeScript will catch it.
let myRegex = /@robot(\s+(please|immediately)))? do some task/; // ~ // error! // Unexpected ')'. Did you mean to escape it with a backslash?
Limitations
Currently, TypeScript's regex checking only applies to regex literals. If you create a regex using the RegExp
constructor with a string, TypeScript won't check it.
let myRegex = new RegExp("@typedef \\{import\\((.+)\\)\\.([a-zA-Z_]+)\\} \\3"); // TypeScript will not check this regex for errors.
It does a few really smart things, and if you want to check out more advanced usage, I'd check out the release notes here.