我想在solr中实现通配符查询。我希望当我搜索 query= ****diamond
时,它应该搜索whiltediamond 等。即所有 '*'
都应该替换为 ''
(空白)除了 1 *
即。它应该以 *diamond
运行,我正在使用
query=query.replace(/[^a-zA-Z 0-9 * ? : .]+/g,'');
它表示除 *
、?
、:
、.
以外的所有特殊字符”。现在我想对其进行转换,因为它应该替换所有 *
,留下一个 *
为 ''
。
比什么应该是正则表达式。
最佳答案
您的正则表达式应执行以下操作:
仅用一个星号替换任意数量的星号:
query=query.replace(/\*+/,'*');
关于regex - 用于替换多次出现的字符的正则表达式,其中一个字符留为空白,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6569415/