"Fredrik Lundh" <fredrik at pythonware.com> writes: > the RE module already have an established method for specifying flags, > either with (?x) markers in the pattern strings, or via the "flags" argument > to re.compile and others. > > any reason why you cannot use a new standard flag for this purpose? > > (e.g. (?e) and re.EMPTY_OK) I considered this when I was writing the patch, but it seemed like the "(?x)"-style flags all have to do with the meaning and interpretation of the pattern. They're quite general and make sense for all of the methods that use patterns. The "empty okay" concept, on the other hand, seems to have to do specifically with how re.split uses the pattern. That is, in the process of finding matches decides (or not) to discard the empty matches. Would you even want the other methods to have this "do what I say but also discard empty matches" wart? IMO, the only reason for the existence of the option is to preserve backward compatibility with previous code that assumes empties will be discarded. This is something we want to go away eventually, IMO. > for extra credit, add EMPTY_OK behaviour to find, finditer, and sub/subn. I'd vote -1, since there's no backward compatibility issue for these. If someone writing new code doesn't want to match empty strings, they can easily write a pattern that doesn't match empty strings. Mike
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