Lucene:搜索匹配正则表达式的字符串

时间:2018-02-09 09:37:31

标签: java regex lucene

我使用Lucene使用正则表达式搜索特定模式。出现了一个新的用例,我需要查找匹配正则表达式模式的特定字符串。很好的例子就是在文件中查找价格:价格可以通过多种方式编写,只需查找" 1256.88"存储在数据库中是不够的。文件中的价值可能在它前面有一种货币,在其后面甚至根本不存在(" 1256,88欧元"," 1256,88 EUR"或者只是&# 34; 1256,88&#34)。该值可能有数千个分隔符。当然,这可以相互结合。所以我想在同一时间搜索一个特定的,已知的价格(" 1256.88")作为正则表达式的一部分。正则表达式的例子是

[0-9]{1,10}*([\.|,][0-9]{0,2})?([\ ]?[€|$])?
  1. Lucene的做法是什么?有没有办法用正则表达式和"示例"?
  2. 进行搜索
  3. 或者我是否需要使用正则表达式进行搜索,然后手动过滤掉错误的命中?如何找出触发匹配的字符串?

0 个答案:

没有答案