diff --git a/Lib/csv.py b/Lib/csv.py index b2aaf5fd9fa91e..8e35e998bc0a10 100644 --- a/Lib/csv.py +++ b/Lib/csv.py @@ -331,7 +331,7 @@ def _guess_quote_and_delimiter(self, data, delimiters): # if we see an extra quote between delimiters, we've got a # double quoted format dq_regexp = re.compile( - r"((%(delim)s)|^)\W*%(quote)s[^%(delim)s\n]*%(quote)s[^%(delim)s\n]*%(quote)s\W*((%(delim)s)|$)" % \ + r"((%(delim)s)|^)\W*%(quote)s(?>[^%(delim)s\n]*)%(quote)s[^%(delim)s\n]*%(quote)s\W*((%(delim)s)|$)" % \ {'delim':re.escape(delim), 'quote':quotechar}, re.MULTILINE)