On Wed, 16 Feb 2022 at 09:28, Steven D'Aprano <st...@pearwood.info> wrote: > > On Wed, Feb 16, 2022 at 01:02:44AM +1100, Chris Angelico wrote: > > > Yeah, regexes always look terrible when they're used for simple > > examples :) But try matching a line that has (somewhere in it) the > > word "spam", then whitespace, then a number (or if you prefer: then a > > sequence of ASCII digits). It's easy to write "spam\s+[0-9]+" > > After this thread, I no longer trust that "easy" regexes will do what > they "obviously" look like they should do :-( > > I'm not trying to be funny or snarky.
(That must be rare!) > I *thought* I had a reasonable > understanding of regexes, and now I have learned that I don't, and that > the regexes I've been writing don't do what I thought they did, and > presumedly the only reason they haven't blown up in my face (either > performance-wise, or the wrong output) is blind luck. > > Now I have *three* problems :-( > I think it's one of those cases where it normally doesn't matter that they don't technically do quite what you thought. Pretending that a regex matches in a simpler way than it actually does is like pretending that the earth is a sphere: technically wrong, but almost always close enough. It's only in the rare cases that it matters, and they usually only show up with the regexps that are so complicated that I wouldn't trust them to not be buggy anyway. (Debugging a regexp is a PAIN, when your main response is just "nope didn't match".) ChrisA _______________________________________________ Python-ideas mailing list -- python-ideas@python.org To unsubscribe send an email to python-ideas-le...@python.org https://mail.python.org/mailman3/lists/python-ideas.python.org/ Message archived at https://mail.python.org/archives/list/python-ideas@python.org/message/G4T3ID4SPHRJXWTBOYSHUF7NOZODYKFO/ Code of Conduct: http://python.org/psf/codeofconduct/