javascript - 使用 Javascript Regex 转义 Lucene 字符

标签 javascript regex node.js lucene

我在 NodeJS 项目中使用 elasticsearch,它在将 Lucene 关键字之一输入到搜索框中时中断。我正在寻找一个简单的实现来转义它们的特殊字符。正则表达式是最好的方法吗?我现在一直在摆弄正则表达式,感觉好像其他人可能已经完成了这个过程。

最佳答案

只是需要摆弄更多。

var escaped = query.replace(/([\!\*\+\&\|\(\)\[\]\{\}\^\~\?\:\"])/g, "\\$1");    

全局替换 lucene 会用其转义版本大喊大叫的所有字符实例。

关于javascript - 使用 Javascript Regex 转义 Lucene 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26431958/

相关文章:

javascript - AJAX跨域调用

javascript - HTML 模式对话框无法正确加载

javascript - 我根据获取的数据创建输入字段,但如何才能只使用值来定位输入字段

c# - 删除 HTML 标签的正则表达式

javascript - 提供满足 esm、commonjs 和 bundlers 的 module、main 和 browser 字段

javascript - Grunt + Babel 成功运行但没有做任何事情

javascript - 分配和删除点击事件

ruby - 如何检查字符串是否仅包含 Ruby 中的空格和字母?

javascript - 正则表达式匹配 Markdown 代码块

mysql - 自定义快速验证器