java解析key:value strings 来自查询(如搜索引擎)

jecbmhm3  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(292)

我有一个搜索引擎为我的网站。搜索的后端是用java实现的。我想在我的搜索中添加一些高级搜索功能。这些关键字的工作原理与google或bing的关键字类似。例如 filetype:pdf 或者 site:example.com . 当我把查询作为 String ,我想解析这些变量,然后运行查询。正则表达式似乎是显而易见的选择,但我想知道是否有更好/更快的方法。

wsewodh2

wsewodh21#

假设列表中有一组有效的关键字 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

相关问题