search_query.pubmed.parser

Pubmed query parser.

Classes

PubmedListParser(query_list, *[, field_general])

Parser for Pubmed (list format) queries.

PubmedParser(query_str, *[, field_general, ...])

Parser for Pubmed queries.

class search_query.pubmed.parser.PubmedListParser(query_list: str, *, field_general: str = '')

Bases: QueryListParser

Parser for Pubmed (list format) queries.

parse() Query

Parse the query in list format.

class search_query.pubmed.parser.PubmedParser(query_str: str, *, field_general: str = '', offset: dict | None = None, original_str: str | None = None, silent: bool = False)

Bases: QueryStringParser

Parser for Pubmed queries.

FIELD_REGEX = re.compile('\\[[^\\[]*?\\]')
LOGIC_OPERATOR_REGEX = re.compile('(\\||&|\\b(?:AND|OR|NOT|:)\\b)(?!\\s?\\[[^\\[]*?\\])')
PARENTHESIS_REGEX = re.compile('[\\(\\)]')
PROXIMITY_REGEX = re.compile('^\\[(.+):~(.*)\\]$')
SEARCH_PHRASE_REGEX = re.compile('\\".*?\\"')
TERM_REGEX = re.compile('[^\\s\\[\\]()\\|&]+')
parse() Query

Parse a query string

parse_query_tree(tokens: list) Query

Parse a query from a list of tokens

pattern = re.compile('\\[[^\\[]*?\\]|(\\||&|\\b(?:AND|OR|NOT|:)\\b)(?!\\s?\\[[^\\[]*?\\])|[\\(\\)]|\\".*?\\"|[^\\s\\[\\]()\\|&]+', re.IGNORECASE)
tokenize() None

Tokenize the query_str