0

私は自分のウェブサイト用の検索エンジンを持っています。検索のバックエンドは Java で実装されています。検索に高度な検索機能を追加したいと考えています。これらのキーワードは、Google や Bing のキーワードのように機能します。たとえば、filetype:pdfまたはsite:example.com. クエリを として取得したら、Stringこれらの変数を解析してクエリを実行します。正規表現は明らかな選択のように思えますが、より良い/より高速な方法があるかどうか疑問に思っていました.

4

1 に答える 1

1

リストに有効なキーワードのセットがあると仮定しますvalidKeywordLst

この正規表現を使用できます

(?<keyword>\\w+)\\s*:\\s*(?<value>\\S+)

あなたのコードは

Pattern r = Pattern.compile(regex);
Matcher m = r.matcher(inputSearch);
 if (m.find( )) 
 {
     m.group("keyword");m.group("value");
 }

これで、キーワードが有効かどうかを確認できますvalidKeywordLst

于 2013-06-06T05:50:37.210 に答える