#python #python-2.7
#python #python-2.7
Вопрос:
Я пытаюсь выполнить поиск хэш-ключа с помощью re.search и распечатать результат.
Я перепробовал несколько критериев поиска, но он ничего не возвращает.
Строка поиска:
FLASHhashval.key 234 -A7B865C48E-
Строка для получения нужного мне значения
match = re.search(r'^FLASH\hashval.key. s (-w -)s ', line)
Фрагмент кода
def _test_hashval_key(self):
'''
Verify that the hashval.key is correct in the DRP.
'''
tid = 'HashVal'
cmd = 'drpmrs dev=/dev/ro2 filelist'
sts, out = runcmd(cmd)
fnd = False
for line in out.split('n'):
line = line.strip()
#FLASHhashval.key 234 -A7B865C48E-
match = re.search(r'^FLASH\hashval.key. s (-w -)s ', line)
if match:
hash = match.group(1)
print hash()
fnd = True
val = -A7B865C48E-
val1 = -EDA6384F89-
val2 = -BF384513DC-
if val == hash:
self._passed(tid, 'hashval.key sys: %s' % (hash))
if val1 == hash:
self._passed(tid, 'hashval.key prd: %s' % (hash))
if val2 == hash:
self._passed(tid, 'hashval.key crp: %s' % (hash))
if not match:
self._failed(tid, 'hashval.key not found')
Это то, что я хотел бы показать в качестве примера:
Test:14 HashVal: crp -A7B865C48E-
Комментарии:
1. Просто удалите
s
в конце, оно не будет соответствовать, если в конце строки нет пробела.2.
hash()
неизвестный иval = -A7B865C48E-
val1 = -EDA6384F89-
val2 = -BF384513DC-
все незаконные python…3. Спасибо Тьерри и Патрику. Я удалил s , но он по-прежнему ничего не возвращает.
Ответ №1:
Я смог определить правильное регулярное выражение
match = re.search(r'^FLASH\hashval.key.s (.*)-', line)