Допустим, у меня есть строка запроса, как, что:Синтаксического синтаксис простого запроса
#some terms! "phrase query" in:"my container" in:group_3
или
#some terms!
или
in:"my container" in:group_3 terms! "phrase query"
или
in:"my container" test in:group_3 terms!
Каков наилучший способ правильно разобрать?
Я посмотрел на Lucene's SimpleQueryParser, но это кажется довольно сложным для моего использования. И я пытаюсь разобрать этот запрос с помощью регулярных выражений, но до сих пор не очень успешный, в основном из-за возможности использования пробелов внутри котировок
Любая простая идея?
мне просто нужно, чтобы получить как можно вывести список элементов, потом это довольно легко для меня, чтобы решить остальные проблемы:
[
"#some",
"terms!",
"phrase query",
"in:\"my container\"",
"in:group_3"
]
Maby try включить ". *?" в вашем регулярном выражении это будет соответствовать чему-либо внутри "" –
Я добавил возможный и очень простой вывод –
@MYGz Я еще не эксперт по regex, но ваше решение выглядит хорошим вдохновением, за исключением того, что оно работает только для моего ввода, но это не так общий (например, он терпит неудачу для '# some terms!" фразового запроса "в:" мой контейнер ", который является моим запросом минус конец –