diff --git a/deeppavlov/skills/pattern_matching_skill/pattern_matching_skill.py b/deeppavlov/skills/pattern_matching_skill/pattern_matching_skill.py index f09f590934..dc2a269ba7 100644 --- a/deeppavlov/skills/pattern_matching_skill/pattern_matching_skill.py +++ b/deeppavlov/skills/pattern_matching_skill/pattern_matching_skill.py @@ -11,11 +11,16 @@ def __init__(self, responses, patterns=None, regex=False, ignore_case=True): self.responses = responses if isinstance(patterns, str): patterns = [patterns] - if patterns and regex: - patterns = [re.compile(pattern) for pattern in patterns] - self.patterns = patterns self.regex = regex self.ignore_case = ignore_case + if regex: + if patterns: + flags = re.IGNORECASE if ignore_case else 0 + patterns = [re.compile(pattern, flags) for pattern in patterns] + else: + if patterns and ignore_case: + patterns = [pattern.lower() for pattern in patterns] + self.patterns = patterns def __call__(self, utterances_batch, history_batch, states_batch): response = [random.choice(self.responses) for _ in utterances_batch]