summaryrefslogtreecommitdiff
path: root/Lib
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2016-09-11 01:39:01 +0300
committerSerhiy Storchaka <storchaka@gmail.com>2016-09-11 01:39:01 +0300
commitd65cd091e9c10cd55c3e19c45930c539d896c61a (patch)
treed27d2304f4ce428fffa4106949f974ae31f349a2 /Lib
parent99a6570295de5684bfac767b4d35c72f8f36612d (diff)
downloadcpython-git-d65cd091e9c10cd55c3e19c45930c539d896c61a.tar.gz
Issue #28070: Fixed parsing inline verbose flag in regular expressions.
Diffstat (limited to 'Lib')
-rw-r--r--Lib/sre_parse.py1
-rw-r--r--Lib/test/test_re.py3
2 files changed, 4 insertions, 0 deletions
diff --git a/Lib/sre_parse.py b/Lib/sre_parse.py
index 09f3be25ab..d74e93ff5c 100644
--- a/Lib/sre_parse.py
+++ b/Lib/sre_parse.py
@@ -847,6 +847,7 @@ def parse(str, flags=0, pattern=None):
pattern = Pattern()
pattern.flags = flags | SRE_FLAG_VERBOSE
pattern.str = str
+ source.seek(0)
p = _parse_sub(source, pattern, True, False)
p.pattern.flags = fix_flags(str, p.pattern.flags)
diff --git a/Lib/test/test_re.py b/Lib/test/test_re.py
index 2322ca9bb4..afe8738e83 100644
--- a/Lib/test/test_re.py
+++ b/Lib/test/test_re.py
@@ -1276,6 +1276,9 @@ class ReTests(unittest.TestCase):
q = p.match(upper_char)
self.assertTrue(q)
+ self.assertTrue(re.match('(?ixu) ' + upper_char, lower_char))
+ self.assertTrue(re.match('(?ixu) ' + lower_char, upper_char))
+
def test_dollar_matches_twice(self):
"$ matches the end of string, and just before the terminating \n"
pattern = re.compile('$')