From 7bd3e8b8d97e6d3852291c5dde723a38d3f844bd Mon Sep 17 00:00:00 2001 From: Project Nayuki Date: Thu, 20 Apr 2017 22:48:13 +0000 Subject: [PATCH] Fixed regexes in Python code to fully match to end of string, which affects the case when a string ends with a newline character. --- python/qrcodegen.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/python/qrcodegen.py b/python/qrcodegen.py index b8365d8..f6a63f8 100644 --- a/python/qrcodegen.py +++ b/python/qrcodegen.py @@ -709,10 +709,10 @@ class QrSegment(object): # ---- Constants ---- # (Public) Can test whether a string is encodable in numeric mode (such as by using make_numeric()) - NUMERIC_REGEX = re.compile("[0-9]*$") + NUMERIC_REGEX = re.compile(r"[0-9]*\Z") # (Public) Can test whether a string is encodable in alphanumeric mode (such as by using make_alphanumeric()) - ALPHANUMERIC_REGEX = re.compile("[A-Z0-9 $%*+./:-]*$") + ALPHANUMERIC_REGEX = re.compile(r"[A-Z0-9 $%*+./:-]*\Z") # (Private) Dictionary of "0"->0, "A"->10, "$"->37, etc. _ALPHANUMERIC_ENCODING_TABLE = {ch: i for (i, ch) in enumerate("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:")}