5 ms·
or just if clause it - why spend 1 hour chasing down regex to save yourself from writing 3 lines of code.
by nonameking2026 4y ago
or just if clause it - why spend 1 hour chasing down regex to save yourself from writing 3 lines of code.
- eurasiantiger 4y agoBecause application performance matters more than developer performance.
- episteme 4y agoI thought Regex was typically less performant than string operations?
- eurasiantiger 4y agoDepends. If you need to go through a 100MB file, you want to do it once, not twice.
- Blackthorn 4y agoAssuming you're using a non-backtracking library, they should both be O(n).
- Banana699 4y agoDepends very heavily on the task and the string implementation involved, but my prior is that you should always bet on regex for anything more complex than "ForEach chr in str: doSomething(chr)". Modern regex implementations are their own language interpreters/compilers, they implement their own string data strutures, they compile your regex into specialized bytecode (different from the hosting language), they have tons of special cases checks for fast paths (e.g. capturing groups make regexes much much more complicated than they need to be, a regex without capturing has the option to run signficantly faster). A random search just found out this 2016 SO question[1] where a compiled regex was faster than string.contains (!). Regex is just insanely optimized. It reminds me of C++, ugly and badly/un designed, but it can go fast. [1] https://stackoverflow.com/questions/2962670/regex-ismatch-vs-string-contains https://stackoverflow.com/questions/2962670/regex-ismatch-vs...
- nonameking2026 4y agoThis varies a lot. Reading a 100mb file 10 times a day vs. 100 times a day is perfectly acceptable in many scenarios.
- eurasiantiger 4y agoTrue, but in a fast-changing world, someone with slow data integrations might be leaving money on the table.