A relevant discussion came up recently on the boost list. In our regex library there's a function which tells you whether a string was a partial match to the beginning of a pattern. The example used in the docs was a credit-card number validator which watches what you type and beeps at you if there's a mistake. Unfortunately, the implementation would return false if the input string was empty. Of course that required special-casing for the empty string. Eventually complaints from users caused the library maintainer to change his mind about the response to the empty string. http://aspn.activestate.com/ASPN/search?query=another+regex+partial+match+b ug&type=Archive_boost_list&x=0&y=0 FWIW-ly yr's, Dave ----------------------------------------------------------- David Abrahams * Boost Consulting dave@boost-consulting.com * http://www.boost-consulting.com ----- Original Message ----- From: "Guido van Rossum" <guido@python.org> To: "Andrew Koenig" <ark@research.att.com> Cc: "Michael Chermside" <mcherm@destiny.com>; "python-dev" <python-dev@python.org> Sent: Tuesday, August 06, 2002 11:36 AM Subject: Re: [Python-Dev] Re: Dafanging the find() gotcha > > Michael> I think this is an extremely unconvincing example. You have > > Michael> pushed the API up to the user of a program and supposed that > > Michael> they expect the behavior which you are trying to defend. In > > Michael> practice, what users expect in cases where a field is left > > Michael> blank is for that field to be IGNORED, not for it to be > > Michael> processed, but its contents treated as containing an empty > > Michael> string. > > > > I understand. My point is that in this particular example, what the > > user perceives as ignoring the request is obtained by the > > implementation technique of treating it as an empty string. The user > > doesn't have to know about this implementation technique, of course. > > I think it's a poor implementation technique. :-) Opening the file to > search for an empty string is very inefficient. > > My own potential example was some kind of graph traversal algorithm, > representing paths by sequences of letters (the letters labeling > edges), and involving paths that are subpaths of other paths. > Certainly the empty path should be considered a valid subpath of other > paths. > > BTW, a more fool-proof (though unfortunately slower) way of testing > for substring containment in existing Python would be s2.count(s1) -- > this returns the number of occurrences. And of course, > 'abc'.count('') returns 4. > > --Guido van Rossum (home page: http://www.python.org/~guido/) > > _______________________________________________ > Python-Dev mailing list > Python-Dev@python.org > http://mail.python.org/mailman/listinfo/python-dev >
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