3 ms·
And when you think you've learned regex, learn that you haven't: http://fent.github.io/randexp.js http://fent.github.io/randexp.js (a regex "reverser" of sorts)
by Groxx 9y ago
And when you think you've learned regex, learn that you haven't: http://fent.github.io/randexp.js http://fent.github.io/randexp.js (a regex "reverser" of sorts) [1]
Seriously. Test every non-trivial regex with something like this, you'll probably be surprised at how permissive most regexes are.
Regexes are great. They're super-concise and perform amazingly well. But they're one of the biggest footguns I know of. Treat them as such and you'll probably do fine.
---
[1] for instance, the URL regex they use is incorrect, and it's super obvious when you plug it into that site:
^(((http|https|ftp):\/\/)?([[a-zA-Z0-9]\-\.])+(\.)([[a-zA-Z0-9]]){2,4}([[a-zA-Z0-9]\/+=%&_\.~?\-]*))*$
`[[a-zA-Z0-9]\-\.]` you can't nest character sets like that. So this matches the letters "[]-." as well as all a-z,A-Z,0-9 ranges.