self._re_distribute_keywords=re.compile(r'\b(?P<keyword>\S*:)(?P<content>.+?)\s*(?P<combination>and not | and | or | not )\s*(?P<last_content>[^:]*?)(?= and not | and | or | not |$)',re.IGNORECASE)
# regular expression that matches author patterns
self._re_author_match=re.compile(r'\bauthor:\s*(?P<name>.+?)\s*(?= and not | and | or | not |$)',re.IGNORECASE)
# regular expression that matches exact author patterns
# the group defined in this regular expression is used in method
# in case of changes correct also the code in this method
self._re_exact_author_match=re.compile(r'\bexactauthor:(?P<author_name>[^\'\"].*?[^\'\"]\b)(?= and not | and | or | not |$)',re.IGNORECASE)
# regular expression that matches search term, its conent (words that
# are searched)and the operator preceding the term. In case that the
# names of the groups defined in the expression are changed, the
# chagned should be reflected in the code that use it.
self._re_search_term_pattern_match=re.compile(r'\b(?P<combine_operator>find|and|or|not)\s+(?P<search_term>title:|keyword:)(?P<search_content>.*?(\b|\'|\"|\/))(?= and | or | not |$)',re.IGNORECASE)
# regular expression used to split string by white space as separator