0

我的网站有一个搜索引擎。搜索的后端是用 Java 实现的。我想在我的搜索中添加一些高级搜索功能。这些关键字的作用类似于 Google 或 Bing 的关键字。例如filetype:pdfsite:example.com。当我得到查询时String,我想解析这些变量,然后运行查询。正则表达式似乎是显而易见的选择,但我想知道是否有更好/更快的方法。

4

1 回答 1

1

假设您在 List 中有一组有效的关键字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 回答