Добавлена поддержка \xAA символов для функции grep

develop 3.3.1.2
Mike Hiretsky 9 years ago
parent 4c5fb90bcf
commit bea09a53fe

@ -2948,6 +2948,7 @@ class templateFunction(_error, _warning, _shareTemplate, _shareTermsFunction):
"""
fname, op, regpattern = funArgv.replace(" ","").partition(",")
regpattern = regpattern.replace("(?\<","(?<")
regpattern = self._replace_hex(regpattern)
if not fname or not regpattern:
self.raiseErrTemplate()
try:
@ -3413,6 +3414,13 @@ class templateFunction(_error, _warning, _shareTemplate, _shareTermsFunction):
textTemplateTmp[resS.end():]
return (textTemplateTmp)
def _replace_hex(self, text):
"""
Заменить в строке комбинацию \\x00 на символ
"""
return re.sub(r'\\x([0-9a-fA-F]{2})',
lambda x:chr(int(x.group(1),16)), text)
def funcReplace(self, funArgv, resS, localVars, textTemplateTmp, nameTemp):
"""локальная функция заменяет в значении переменной old на new
@ -3437,8 +3445,7 @@ class templateFunction(_error, _warning, _shareTemplate, _shareTermsFunction):
textArgv = term[1:-1]
for replTerm in replTerms:
textArgv = textArgv.replace(*replTerm)
textArgv = re.sub(r'\\x([0-9a-fA-F]{2})',
lambda x:chr(int(x.group(1),16)),textArgv)
textArgv = self._replace_hex(textArgv)
listArgv.append(textArgv)
elif term.startswith("'") and term.endswith("'"):
listArgv.append(term[1:-1])

Loading…
Cancel
Save