Я написал регулярное выражение для разделения строки поиска на составные части. Особенности включают в себя:
- Операторы:
+
, -
, AND
, OR
- Группировка слов по кавычкам (пока одинарная и двойная)
- Правильно игнорируя апострофы
Итак:
((?<=^|\s)(?:[\+\-]?"[^"]+"(?=\s|$)|[\+\-]?'[^']+'(?=\s|$)|[\+\-]?\S+|AND|and|OR|or)(?=$|\s))
Какой самый простой способ исключить кавычки-разделители из совпадений результатов? Пример:
lsdkjflws's ldkj and "lfldkfjs's ldkjfls" lskdj
Результаты на этих штуках:
- lsdkjflws в
- ldkj
- и
- "lfldkfjs's ldkjfls"
- lskdj
Мне не нужно этого делать, я просто хотел бы сделать еще один шаг в регулярном выражении.