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 <python at mrabarnett.plus.com > <mailto:python at 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))?" > > ? >
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4