我正在使用regexp_filter在由sphinx提供支持的客户端选择中进行替换。我试图使regexp更有效,而不是
regexp_filter=Dr(.)? Jones=>Doctor Louis
regexp_filter=Dr(.)? Smith=>Doctor Alban
我做了
regexp_filter=(?i)Dr(.)? (Jones|Smith)=>Doctor \2
然而,这给了我意想不到的结果,特别是“Jobes博士”会返回所有Dr X
条记录(例如Dr Jones
,Doctor Gleason
,Dr Proctor
)。
正如我所看到的,但是Dr X
表格中的每条记录都只是将Dr. to Doctor编入索引,其姓氏(\ 2)完好无损。相反,它似乎将我放在(A|B)
管道中的任何术语映射到通用匹配。
这似乎与这种方法过去的工作方式不一致,想知道我是否遗漏了正则表达式中显而易见的东西。
顺便说一句,如果我在myregextester中测试它,它按预期工作: