summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2016-09-10 22:39:01 (GMT)
committerSerhiy Storchaka <storchaka@gmail.com>2016-09-10 22:39:01 (GMT)
commitd65cd091e9c10cd55c3e19c45930c539d896c61a (patch)
treed27d2304f4ce428fffa4106949f974ae31f349a2
parent99a6570295de5684bfac767b4d35c72f8f36612d (diff)
downloadcpython-d65cd091e9c10cd55c3e19c45930c539d896c61a.zip
cpython-d65cd091e9c10cd55c3e19c45930c539d896c61a.tar.gz
cpython-d65cd091e9c10cd55c3e19c45930c539d896c61a.tar.bz2
Issue #28070: Fixed parsing inline verbose flag in regular expressions.
-rw-r--r--Lib/sre_parse.py1
-rw-r--r--Lib/test/test_re.py3
-rw-r--r--Misc/NEWS2
3 files changed, 6 insertions, 0 deletions
diff --git a/Lib/sre_parse.py b/Lib/sre_parse.py
index 09f3be2..d74e93f 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 2322ca9..afe8738 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('$')
diff --git a/Misc/NEWS b/Misc/NEWS
index 8c4fbc9..7ce5391 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -138,6 +138,8 @@ Core and Builtins
Library
-------
+- Issue #28070: Fixed parsing inline verbose flag in regular expressions.
+
- Issue #19500: Add client-side SSL session resumption to the ssl module.
- Issue #28022: Deprecate ssl-related arguments in favor of SSLContext. The