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