diff --git a/lib/ansible/template/__init__.py b/lib/ansible/template/__init__.py index 000c5b91e5..215a191f23 100644 --- a/lib/ansible/template/__init__.py +++ b/lib/ansible/template/__init__.py @@ -290,7 +290,8 @@ class Templar: self.environment.block_end_string, self.environment.variable_end_string )) - self._no_type_regex = re.compile(r'.*\|\s*(?:%s)\s*(?:%s)?$' % ('|'.join(C.STRING_TYPE_FILTERS), self.environment.variable_end_string)) + self._no_type_regex = re.compile(r'.*?\|\s*(?:%s)(?:\([^\|]*\))?\s*\)?\s*(?:%s)' % + ('|'.join(C.STRING_TYPE_FILTERS), self.environment.variable_end_string)) def _get_filters(self, builtin_filters): '''