WHITESPACE = { " " }
key_items = _{ !("[" | "]" | "." | "|") ~ ANY }
pure_key = { key_items+ }
field = { (!("=") ~ ANY)+ }
value = { (!("." | "|") ~ ANY)+ }
condition = { field ~ "=" ~ value }
key = { pure_key ~ ( "|" ~ condition )* }
index_number = { ASCII_DIGIT+ }
index_all = { "*" }
index = _{ "[" ~ (index_number | index_all) ~ "]" ~ ( "|" ~ condition )* }
part = { ((".") ~ key) | index }
path = { key ~ part* }
root_key = { "" }
root = { root_key ~ ( "|" ~ condition )* }
final_path = { (path | root ) ~ EOI }