4 ms·
Some by "regex" mean "globs" and you can just use "*" and "?" for stand-ins for some number of characters. Some allow "|", some allow backrefs, some allow "()"
by kadoban 5y ago
Some by "regex" mean "globs" and you can just use "*" and "?" for stand-ins for some number of characters.
Some allow "|", some allow backrefs, some allow "()", or require them escaped with \, or allow them but not with * after. Some are case insensitive, some not. Some allow "{0-5}", some allow "[0-9]", some have handy things like "\w".
It's just the guessing game of exactly what they want. It should be required that each regex box has an example next to it using as many allowed features as possible.
- _jal 5y agoLook for 'pcre' on the label. Accept no substitutes and you'll be fine.
- hexane360 5y ago*almost always: https://blog.cloudflare.com/details-of-the-cloudflare-outage-on-july-2-2019/ https://blog.cloudflare.com/details-of-the-cloudflare-outage... >The Lua WAF uses PCRE internally and it uses backtracking for matching and has no mechanism to protect against a runaway expression. https://blog.cloudflare.com/making-the-waf-40-faster/ https://blog.cloudflare.com/making-the-waf-40-faster/ >Back in July 2019, the WAF transitioned from using a regular expression engine based on PCRE to one inspired by RE2, which is based around using a deterministic finite automaton (DFA) instead of backtracking algorithms. This change came as a result of an outage where an update added a regular expression which backtracked enormously on certain HTTP requests, resulting in exponential execution time. >After the migration was finished, we saw no measurable difference in CPU consumption at the edge, but noticed execution time outliers in the 95th and 99th percentiles decreased, something we expected given RE2's guarantees of a linear time execution with the size of the input.
- Semaphor 5y ago> Some by "regex" mean "globs" and you can just use "*" and "?" for stand-ins for some number of characters. What kind of scary tool is that?
- RHSeeger 5y agoGlob is used in most shells, plus in several languages (Tcl has both glob and regexp matching).
- RHSeeger 5y ago> Some by "regex" mean "globs" and you can just use "*" and "?" for stand-ins for some number of characters. But that's _not_ regexp, it's glob; a totally different pattern matching system. I mean, you can call a duck a horse, but that doesn't mean you're right... or that there's anything confusing about horses.