search_query.pubmed.parser

Pubmed query parser.

Classes

PubmedListParser(query_list, *[, ...])

Parser for Pubmed (list format) queries.

PubmedParser(query_str[, ...])

Parser for Pubmed queries.

class search_query.pubmed.parser.PubmedListParser(query_list: str, *, search_field_general: str = '', mode: str = 'non-strict')

Bases: QueryListParser

Parser for Pubmed (list format) queries.

LIST_ITEM_REF = re.compile('#\\d+')
LIST_ITEM_REGEX: Pattern = re.compile('^(\\d+).\\s+(.*)$')
OPERATOR_NODE_REGEX = re.compile('#\\d|AND|OR|NOT')
get_operator_node_tokens(token_nr: int) list

Get operator node tokens

parse() Query

Parse the query in list format.

class search_query.pubmed.parser.PubmedParser(query_str: str, search_field_general: str = '', mode: str = 'non-strict')

Bases: QueryStringParser

Parser for Pubmed queries.

OPERATOR_REGEX: re.Pattern = re.compile('(\\||&|\\b(?:AND|OR|NOT|:)\\b)(?!\\s?\\[[^\\[]*?\\])')
PARENTHESIS_REGEX = re.compile('[\\(\\)]')
PROXIMITY_REGEX = re.compile('^\\[(.+):~(.*)\\]$')
SEARCH_FIELD_REGEX = re.compile('\\[[^\\[]*?\\]')
SEARCH_PHRASE_REGEX = re.compile('\\".*?\\"')
SEARCH_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