On Tue, Feb 15, 2022 at 6:13 PM Chris Angelico wrote:
> Once upon a time, a "regular expression" was a regular grammar. That is no
> longer the case.
>
I use "regex" for the weird backtracking minilanguages and deliberately
never call them "regular expressions". (I was under the impression that
I know this is probably too much self promotion, but I really enjoyed
writing this less than a year ago: https://gnosis.cx/regex/ (The Puzzling
Quirks of Regular Expressions).
It's like other puzzle books, but for programmers. You should certainly
still get Friedl's book if you don't have it. You
[Chris Angelico ]
> Is there any sort of standardization of regexp syntax and semantics,
Sure. "The nice thing about standards is that you have so many to
choose from" ;-) For example, POSIX defines a regexp flavor so it can
specify what things like grep do. The ECMAScruot standard defines its
own
On 2022-02-16 02:11, Chris Angelico wrote:
On Wed, 16 Feb 2022 at 12:56, Tim Peters wrote:
Regexps keep "evolving"...
Once upon a time, a "regular expression" was a regular grammar. That
is no longer the case.
Once upon a time, a regular expression could be broadly compatible
with multiple d
On Wed, 16 Feb 2022 at 12:56, Tim Peters wrote:
> Regexps keep "evolving"...
Once upon a time, a "regular expression" was a regular grammar. That
is no longer the case.
Once upon a time, a regular expression could be broadly compatible
with multiple different parser engines. That is being consta
[Steven D'Aprano ]
> 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. I *thought* I had a reasonable
> understanding of regexes, and now I have learned that I don't, and that
> the regexes
On Wed, 16 Feb 2022 at 10:15, Steven D'Aprano wrote:
>
> On Tue, Feb 15, 2022 at 11:51:41PM +0900, Stephen J. Turnbull wrote:
>
> > scanf just isn't powerful enough. For example, consider parsing user
> > input dates: scanf("%d/%d/%d", &year, &month, &day). This is nice and
> > simple, but handl
On Wed, 16 Feb 2022 at 09:28, Steven D'Aprano 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, th
On Tue, Feb 15, 2022 at 11:51:41PM +0900, Stephen J. Turnbull wrote:
> scanf just isn't powerful enough. For example, consider parsing user
> input dates: scanf("%d/%d/%d", &year, &month, &day). This is nice and
> simple, but handling "2022-02-15" as well requires a bit of thinking
> and several
>>> from pathlib import Path
>>> p = Path('/etc/swift/object.ring.gz')
>>> p.suffix
'.gz'
>>> p.suffixes
['.ring', '.gz']
>>> p.stem
'object.ring'
>>> p.stems
Traceback (most recent call last):
File "", line 1, in
AttributeError: 'PosixPath' object has no attribute 'stems'
I think it would have
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)
How embarassing... I apologize for all the signature garbage at the end of my
message.
___
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-id
On Wed, 16 Feb 2022 at 01:54, Stephen J. Turnbull
wrote:
> The Zawinski quote is motivated by the perception that people seem to
> think that simplicity lies in minimizing the number of tools you need
> to learn. REXX and SNOBOL pattern matching quite a bit more
> specialized to particular tools
Tim Peters wrote:
> """
> Some people, when confronted with a problem, think “I know, I'll use
> regular expressions.” Now they have two problems.
> - Jamie Zawinski
> """
Maybe so, but I'm committed now :). I have dozens of regexes to parse specific
log messages I'm interested in. I made a lit
>
> A regex that's vulnerable to pathological behavior is a DoS attack waiting
>> to happen. Especially when used for parsing log data (which might contain
>> untrusted data). If possible, we should make it harder for people to shoot
>> themselves in the feet.
>>
>
And this is exactly what happened
On 2022-02-15 06:05, Tim Peters wrote:
[Steven D'Aprano ]
I've been interested in the existence of SNOBOL string scanning for
a long time, but I know very little about it.
How does it differ from regexes, and why have programming languages
pretty much standardised on regexes rather than other f
Tim Peters writes:
> Chris didn't say this, but I will: I'm amazed that things much
> _simpler_ than regexps, like his scanf and REXX PARSE
> examples, haven't spread more.
scanf just isn't powerful enough. For example, consider parsing user
input dates: scanf("%d/%d/%d", &year, &month, &day)
On Wed, 16 Feb 2022 at 00:55, Steven D'Aprano wrote:
>
> On Tue, Feb 15, 2022 at 05:39:33AM -0600, Tim Peters wrote:
>
> > ([^s]|s(?!pam))*spam
> >
> > Bingo. That pattern is easy enough to understand
>
> You and I have very different definitions of the word "easy" :-)
>
> > (if not to invent the
On Tue, Feb 15, 2022 at 05:39:33AM -0600, Tim Peters wrote:
> ([^s]|s(?!pam))*spam
>
> Bingo. That pattern is easy enough to understand
You and I have very different definitions of the word "easy" :-)
> (if not to invent the
> first time): we can chew up a character if it's not an "s", or if it
[Tim, on trying to match only the next instance of "spam"]
> Assertions aren't needed, but it is nightmarish to get right.
Followed by a nightmare that got it wrong. My apologies - that's what
I get for trying to show off ;-)
It's actually far easier if assertions are used, and I'm too old to
bot
On Fri, Feb 11, 2022 at 5:39 AM Steven D'Aprano wrote:
> On Thu, Feb 10, 2022 at 02:27:42PM -0800, Neil Girdhar wrote:
>
> > AttributeError: can't set attribute 'f'
> >
> > This can be a pain to debug when the property is buried in a base class.
>
> > Would it make sense to mention the reason why
21 matches
Mail list logo