From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=192.55.52.93; helo=mga11.intel.com; envelope-from=jaben.carsey@intel.com; receiver=edk2-devel@lists.01.org Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 2ACA322489C92 for ; Fri, 16 Mar 2018 16:21:24 -0700 (PDT) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga102.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 16 Mar 2018 16:27:49 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.48,318,1517904000"; d="scan'208";a="39650842" Received: from jcarsey-desk1.amr.corp.intel.com ([10.7.159.144]) by orsmga001.jf.intel.com with ESMTP; 16 Mar 2018 16:27:48 -0700 From: Jaben Carsey To: edk2-devel@lists.01.org Cc: Yonghong Zhu , Liming Gao Date: Fri, 16 Mar 2018 16:27:44 -0700 Message-Id: X-Mailer: git-send-email 2.16.2.windows.1 In-Reply-To: References: In-Reply-To: References: Subject: [PATCH v1 7/9] BaseTools: Use precompiled RegExp X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 16 Mar 2018 23:21:24 -0000 avoid recompiling the regular expression for each use in a while loop Cc: Yonghong Zhu Cc: Liming Gao Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Jaben Carsey --- BaseTools/Source/Python/AutoGen/UniClassObject.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/BaseTools/Source/Python/AutoGen/UniClassObject.py b/BaseTools/Source/Python/AutoGen/UniClassObject.py index 856d19cda270..5c653f58e4ff 100644 --- a/BaseTools/Source/Python/AutoGen/UniClassObject.py +++ b/BaseTools/Source/Python/AutoGen/UniClassObject.py @@ -436,11 +436,11 @@ class UniFileClassObject(object): while (StartPos != -1): EndPos = Line.find(u'\\', StartPos + 1, StartPos + 7) if EndPos != -1 and EndPos - StartPos == 6 : - if re.match('[a-fA-F0-9]{4}', Line[StartPos + 2 : EndPos], re.UNICODE): + if g4HexChar.match(Line[StartPos + 2 : EndPos], re.UNICODE): EndStr = Line[EndPos: ] UniStr = ('\u' + (Line[StartPos + 2 : EndPos])).decode('unicode_escape') if EndStr.startswith(u'\\x') and len(EndStr) >= 7: - if EndStr[6] == u'\\' and re.match('[a-fA-F0-9]{4}', EndStr[2 : 6], re.UNICODE): + if EndStr[6] == u'\\' and g4HexChar.match(EndStr[2 : 6], re.UNICODE): Line = Line[0 : StartPos] + UniStr + EndStr else: Line = Line[0 : StartPos] + UniStr + EndStr[1:] -- 2.16.2.windows.1