Author: Armin Rigo <[email protected]>
Branch:
Changeset: r70322:285b8bfe8e26
Date: 2014-03-29 11:44 +0100
http://bitbucket.org/pypy/pypy/changeset/285b8bfe8e26/
Log: RPythonify the findall and finditer methods (hopefully)
diff --git a/rpython/rlib/rsre/rsre_re.py b/rpython/rlib/rsre/rsre_re.py
--- a/rpython/rlib/rsre/rsre_re.py
+++ b/rpython/rlib/rsre/rsre_re.py
@@ -71,7 +71,11 @@
def findall(self, string, pos=0, endpos=sys.maxint):
matchlist = []
- for match in self.finditer(string, pos, endpos):
+ scanner = self.scanner(string, pos, endpos)
+ while True:
+ match = scanner.search()
+ if match is None:
+ break
if self.groups == 0 or self.groups == 1:
item = match.group(self.groups)
else:
@@ -80,7 +84,12 @@
return matchlist
def finditer(self, string, pos=0, endpos=sys.maxint):
- return iter(self.scanner(string, pos, endpos).search, None)
+ scanner = self.scanner(string, pos, endpos)
+ while True:
+ match = scanner.search()
+ if match is None:
+ break
+ yield match
def subn(self, repl, string, count=0):
filter = repl
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit