On 2018-04-02 05:43, Guido van Rossum wrote:
My question for you: how on earth did you find this?! Speaking of a
needle in a haystack. Did you run some kind of analysis program that
looks for regexprs? (We've received some good reports from someone who
did that looking for possible DoS attacks.)
The thread was about string prefixes.
Terry Reedy wrote "IDLE's colorizer does its parsing with a giant regex."
I wondered: "How bad could it be?" (It's smaller now that the IGNORECASE
flag can have a local scope.)
It wasn't hard to find because it was in a file called "colorizer.py" in
a folder called "idlelib".
On Sun, Apr 1, 2018 at 6:49 PM, MRAB <pyt...@mrabarnett.plus.com
<mailto:pyt...@mrabarnett.plus.com>> wrote:
A thread on python-ideas is talking about the prefixes of string
literals, and the regex used in IDLE.
Line 25 of Lib\idlelib\colorizer.py is:
stringprefix = r"(?i:\br|u|f|fr|rf|b|br|rb)?"
which looks slightly wrong to me.
The \b will apply only to the first choice.
Shouldn't it be more like:
stringprefix = r"(?:\b(?i:r|u|f|fr|rf|b|br|rb))?"
?
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe:
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com