【发布时间】:2012-03-09 02:15:57
【问题描述】:
正则表达式允许使用如下所示的模式匹配语法。 我正在尝试实现一个功能强大的搜索工具,尽可能多地实现这些功能。 我听说 edismax 是最灵活的工具。 下面哪些模式匹配表达式可以用 edismax 完成?我能比edismax做得更好吗?您能否建议我可以使用哪些过滤器和解析器补丁来实现此功能?如果我认为 Solr 可以在这些类型的搜索中实现可接受的性能(即服务器端处理时间),我是不是在做梦?
来自mysql的正则表达式语法和示例
- ^ 匹配字符串的开头。
'fofo' REGEXP '^fo' => true - $ 匹配字符串结尾。
'fo\no' REGEXP '^fo\no$' => true - * 0-无限通配符。
'Baaaan' REGEXP 'Ba*n' => true - ? 0-1 通配符。
'Baan' REGEXP '^Ba?n => false' - + 1-无限通配符。
'Bn' REGEXP 'Ba+n' => false - |要么。
'pi' REGEXP 'pi|apa' => true - ()* 序列匹配。
'pipi' REGEXP '^(pi)*$' => true - [a-dX], [^a-dX] 字符范围/集
'aXbc' REGEXP '[a-dXYZ]' => true - {n} 或 {m,n} 基数符号
'abcde' REGEXP 'a[bcd]{3}e' => true - [:character_class:]
'justalnums' REGEXP '[[:alnum:]]+' => true
【问题讨论】: