bpo-30157: Fix csv.Sniffer.sniff() regex pattern. (GH-5601) (GH-5602)

Co-authored-by: Jake Davis <jcdavis@awedge.net>
(cherry picked from commit 2411292ba8155327125d8a1da8a4c9fa003d5909)
diff --git a/Lib/test/test_csv.py b/Lib/test/test_csv.py
index fe24801..b65cbf6 100644
--- a/Lib/test/test_csv.py
+++ b/Lib/test/test_csv.py
@@ -986,6 +986,16 @@
         self.assertEqual(sniffer.has_header(self.header2 + self.sample8),
                          True)
 
+    def test_guess_quote_and_delimiter(self):
+        sniffer = csv.Sniffer()
+        for header in (";'123;4';", "'123;4';", ";'123;4'", "'123;4'"):
+            with self.subTest(header):
+                dialect = sniffer.sniff(header, ",;")
+                self.assertEqual(dialect.delimiter, ';')
+                self.assertEqual(dialect.quotechar, "'")
+                self.assertIs(dialect.doublequote, False)
+                self.assertIs(dialect.skipinitialspace, False)
+
     def test_sniff(self):
         sniffer = csv.Sniffer()
         dialect = sniffer.sniff(self.sample1)