Какой тип скомпилированного регулярного выражения в python?
В частности, я хочу оценить
isinstance(re.compile(''), ???)
как истинное для целей самоанализа.
Одно решение. У меня было, есть некоторая глобальная константа REGEX_TYPE = type (re.compile (''))
, но она не выглядит очень элегантной.
EDIT: Я хочу это сделать, потому что есть список строк и скомпилированных объектов регулярного выражения. Я хочу "сопоставить" строку со списком, по
и код, который я придумал, был:
for allowed in alloweds:
if isinstance(allowed, basestring) and allowed == input:
ignored = False
break
elif isinstance(allowed, REGEX_TYPE) and allowed.match(input):
ignored = False
break
В 3,7 можно использовать re.Pattern
:
import re
rr = re.compile("pattern")
isinstance(rr, re.Pattern)
>> True