c ++ текст поиска и логический режим - PullRequest
1 голос
/ 15 июля 2010

в основном два вопроса.
1. Существует ли библиотека c ++, которая бы выполняла полнотекстовый логический поиск, как в mysql.Например,
Допустим, у меня есть:

<code>string text = "this is my phrase keywords test with boolean query."; 
string booleanQuery = "\"my phrase\" boolean -test -\"keywords test\" OR ";
       booleanQuery += "\"boolean search\" -mysql -sql -java -php"b<br>
//where quotes ("") contain phrases, (-) is NOT keyword and OR is logical OR.

Если ответ сначала - нет, то;
2. Можно ли искать фразу в тексте.например,
<code>
string text =//same as previous
string keyword = "\"my phrase\"";<br>
//here what's the best way to search for my phrase in the text?

Ответы [ 3 ]

1 голос
/ 15 июля 2010

TR1 имеет класс регулярных выражений (производный от Boost::regex). Это не совсем то, что вы использовали выше, но достаточно близко. Boost::phoenix и Boost::Spirit также предоставляют аналогичные возможности, но для первой попытки класс регулярных выражений Boost / TR1, вероятно, является лучшим выбором.

1 голос
/ 15 июля 2010

Что касается 2-го пункта: string класс имеет метод find, см. http://www.cppreference.com/wiki/string/find

0 голосов
/ 15 июля 2010

Конечно, попробуйте Дух:

http://boost -spirit.com / дома /

...